在javascript代码中修复forEach循环

时间:2014-08-23 16:15:23

标签: javascript hibernate jsp exception foreach

我希望有人能帮助我。我已经搜索并尝试了一个查看解决方案,但这些都没有解决我的问题。

我想在Javascript中使用forEach

控制器:

 model.addAttribute("aqua", aquaDao.aquaLoad());
 mv.setViewName("aqua");

在select语句的jsp文件中,forEach可以正常工作。 但在功能上它不起作用。

功能:

function aqua_select() {
    <c:forEach var="aqua" items="${aqua}" varStatus="status">
    var  sName = "<c:out value="${aqua.name}"/>";
    alert('Test' +sName);
    </c:forEach> }

例外:

  

org.apache.jasper.JasperException:处理发生异常   第27行的JSP页面/WEB-INF/view/aqua.jsp

24:   function aqua_select(value) {
25:       //var values = [];
26:       <c:forEach var="aqua" items="${aqua}" varStatus="status">
27:       var  sName = "<c:out value="${aqua.name}"/>";
28:       </c:forEach>
29:       alert('Test' + sName);
30:   }
     

java.lang.NumberFormatException:对于输入字符串:“name”

我做错了什么?

1 个答案:

答案 0 :(得分:0)

你可以这样做。

  <script>
    var sName = {
       <c:forEach var="aqua" items="${aqua}" varStatus="status">
            '${aqua.name}'${!status.last ? ',' : ''}
        </c:forEach>
    };
//print arrays using javascript
  </script>

你会得到这样的输出。

<script>
 var sName = {'aqua1','aqua2','aqua3'};
</script>

或者如果你有另一个属性假设它是一个数字。

  <script>
    var sName = {
       <c:forEach var="aqua" items="${aqua}" varStatus="status">
            '${aqua.name}' : ${aqua.anotherNumberProperty} ${!status.last ? ',' : ''}
        </c:forEach>
    };


      //output
      //sName = {
      //  'aqua1' : 0,
      //  'aqua2' : 1,
      //  'aqua3' : 2
      // };
  </script>