【问题标题】:Unable to get java variable value inside javascript to pass to java method in jsp无法在javascript中获取java变量值以传递给jsp中的java方法
【发布时间】:2013-12-30 06:21:16
【问题描述】:

我是 JSP 新手,我正在尝试将 javascript 值传递给 jsp 方法。

在下面的循环中,我从 java 类中获取列表,并使用 jsp 下拉列表中的选定值进行循环,即yearVal,以及哪个值等于分配给 java 变量。在 for 循环内,它显示字符串变量的正确值,但在 for 循环外,它显示列表中的最后一个值。我需要获得正确的值,以便我可以将该字符串变量传递给方法。

<% String valYear=""; %>

<%for(int k=0;k<lists.getYearList().size();k++){%>
    if(yearVal==<%= lists.getYearList().get(k)%>){
        <%valYear = lists.getYearList().get(k);%>
        alert('inside scriptlet:::'+<%=valYear%>); 
    }
<%}%>
    alert('outside scriptlet year val:::'+<%=valYear%>);

java中的arraylist如下:

public List<String> yearList = new ArrayList<String>();

    public List<String> getYearList() {
        if(yearList.isEmpty()){
        yearList.add("2012");
        yearList.add("2013");
        yearList.add("2014");
        yearList.add("2015");
        yearList.add("2018");
        }
        return yearList;
    }

    public void setYearList(List<String> yearList) {
        this.yearList = yearList;
    }

最后一个值 2018 在 jsp 中赋值给 java 变量,而不是在 if 循环中赋值 whicvh 相等的变量。

我正在尝试如下:

例如:

if(month != '11'){
        alert('if::'+month);
        <%abc = true;%>
    }else{
        alert('else::'+month);
        <%abc = false;%>    
    }

虽然它进入了if条件,但它没有将abc设置为true,而是将abc设置为false

【问题讨论】:

  • 似乎是变量范围的问题。能否请您发布完整的jsp代码,因为我们看不到少数变量的声明,以便我们可以使用它的范围进行验证。
  • 请不要那样做(混合js和jsp)..
  • 没有选项,此应用程序中没有使用任何框架,我必须使用 javascript 和 jsp :(

标签: java javascript jsp jsp-tags


【解决方案1】:

您的 javascript 值在每次迭代中都会被覆盖。

你要加什么条件,

if(conditionForCorrectValue){
 var js = <%=valYear%>;
}

附注:How to avoid Java code in JSP files?

【讨论】:

    【解决方案2】:

    使用JSTL

    How to use for loop in jstl?

    if(yourTrueCondition)
    {
      var Year = <%= valYear %>;
      alert(Year);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-07
      • 2018-05-03
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      • 2012-08-21
      相关资源
      最近更新 更多