【问题标题】:Appending JSTL ArrayList<String> to a Javascript String将 JSTL ArrayList<String> 附加到 Javascript 字符串
【发布时间】:2016-07-12 17:38:36
【问题描述】:

我正在尝试使用 foreach 循环将 ArrayList 附加到 JavaScript 字符串变量,但由于某种原因,它似乎不起作用。我一直试图解决这个问题 2 天,但还没有运气。有人能帮忙吗?这是代码。

<div id="graphdiv"></div>

<script type="text/javascript">
    var s = "";
    <c:forEach items="${dateAndWaitTimes}" var="item">
        s.append(${item});
    </c:forEach>
    g = new Dygraph(document.getElementById("graphdiv"), s);
</script>

这里dateAndWaitTimes包含了控制器返回的String的ArrayList。

-

我得到的输出:

预期输出:

【问题讨论】:

  • 你不能像那样混合两种语言的变量。每种语言在不同的时间在不同的地方运行
  • 谢谢,那么有没有办法将 Java Arralylist 的值附加到 JavaScript 字符串?
  • PM 77-1:我想我也在做同样的事情?
  • 尝试声明“s =new Array();”然后 s.push() 而不是 s.append()

标签: javascript java arraylist


【解决方案1】:

您似乎正确获取了数组值,但没有显示正确。 一种解决方案可能是:将 Java arraylist 值放入 JS arrayList 中,然后打印 JS arrayList 值。

代码:

<script language="javascript">
$(function(){
    var values = new Array();        
    <c:forEach var="item" items="${dateAndWaitTimes}" varStatus="status">
        values.push("${item}");   
    </c:forEach>
    alert(" VALUES => "+values[0]);
    alert(" VALUES => "+values[1]);
    //alert(" VALUES => "+values[2]);

});

【讨论】:

  • 这应该可以。这是使用 JQuery,所以你应该将它添加到你的 js 文件中。或者我可以尽快给你改成JS。
  • Mohammad Reza Khatami,你能把它改成 JS 吗?
  • 您可以删除 $function() 然后它不再适用于 JQuery 但我不确定,尝试这样做,如果它不起作用,请将 JQuery api 放入脚本中src 在您当前页面的顶部。祝你好运!
  • 谢谢,我试试看。
猜你喜欢
  • 2015-04-09
  • 1970-01-01
  • 1970-01-01
  • 2015-12-07
  • 2013-08-13
  • 2014-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多