EL表达式两个foreach嵌套循环

来源:互联网 发布:p2p网络借贷暂行办法 编辑:程序博客网 时间:2024/05/21 17:39

集合List中加List泛型的泛型

[java] view plain copy
  1. List<RiskEvaSuitQuestion> riskEvaSuitQuestionList = riskEvaSuitQuestionService.getQueList(1000036L);  
  2. model.addAttribute("riskEvaSuitQuestionList",riskEvaSuitQuestionList);  
  3.   
  4. List<RiskEvaSelectItem> riskEvaSelectItemList;  
  5. <span>List<List<RiskEvaSelectItem>></span> riskEvaSelectItemLists = new ArrayList<>(); //双重泛型的构建  
  6. for (int i = 0; i < riskEvaSuitQuestionList.size(); i++) {  
  7.     riskEvaSelectItemList = riskEvaSelectItemService.getByQuestionId(riskEvaSuitQuestionList.get(i).getQuestionId());  
  8.     riskEvaSelectItemLists.add(riskEvaSelectItemList);  
  9. }  
  10.  model.addAttribute("riskEvaSelectItemLists", riskEvaSelectItemLists);  

两个foreach可以直接像if一样嵌套用:


下面是一开始以为foreach不能嵌套出现的方法(看起来就头疼):

[java] view plain copy
  1. <c:forEach items="${riskEvaSuitQuestionList}" var="item" varStatus="i">   //第一个foreach  
  2.    <p style="font-size: 15px;">${i.count}.${item.content}</p><br/>  
  3.    <p style="margin-right: 50px;">  
  4.    <c:forEach begin="1" end="${riskEvaSelectItemLists.get(i.count-1).size()}"   varStatus="j" step="1">   //第二个foreach  
  5.      <input style="margin-left: 50px;margin-right: 40px;" name="itemContent${i.count-1}" type="radio" value="${riskEvaSelectItemLists.get(i.count-1).get(j.count-1).itemScore}">  
  6.      ${riskEvaSelectItemLists.get(i.count-1).get(j.count-1).itemContent}  
  7.    </c:forEach>  
  8.    </p><br/>  
  9. </c:forEach>  

注意:JavaScript中默认加分默认为字符串相加,必须转换为parseInt()

           往input标签中写值,直接定位该标签,然后.value = 值

           javascript中也可以应用域对象取值

[javascript] view plain copy
  1. <script>  
  2.     function calculate() {  
  3.         // 题目的总数  
  4.         var size = ${riskEvaSuitQuestionList.size()};  
  5.         var sum = 0;  
  6.         for(var i = 0;i < size;i++){  
  7.             var chkObjs = document.getElementsByName("itemContent"+i); // 巧用循环获取radio名字  
  8.             for(var j=0;j < chkObjs.length;j++) {  
  9.                 if (chkObjs[j].checked) {     // radio选中判断.checked  
  10.                     sum = parseInt(sum) + parseInt(chkObjs[j].value);  
  11.                     break;  
  12.                 }  
  13.             }  
  14.         }  
  15.         document.getElementById("evaScore").value = sum;  
  16.   
  17.     }  
  18. </script>  

原创粉丝点击