以前的遗留系统,很多jsp里嵌套了java代码,现在我需要用el和jstl替换掉,遇到了一个循环嵌套的代码,请教怎么用el或者jstl替换? <%
for(int j=0; j<listStation.size(); j++){
station = (TStation)listStation.get(j);
bl = false;
for ( int k = 0; k < havestatinlist.size(); k++){
havestation = (TUserstation)havestatinlist.get(k);
if (havestation.getStationsid().equals(station.getId())){
bl = true;
break;
}
}
if (bl){
%>
<input name=setStationbox checked="checked" type=checkbox value="<%=station.getId()%>" /><%=station.getStationname()%><br>
<%
}else{
%>
<input name=setStationbox type=checkbox value="<%=station.getId()%>" /><%=station.getStationname()%><br>
<%
}
}
%>用forEach可以实现循环嵌套吗?里面的判断用<c:choose><c:when>应该可以实现吧
for(int j=0; j<listStation.size(); j++){
station = (TStation)listStation.get(j);
bl = false;
for ( int k = 0; k < havestatinlist.size(); k++){
havestation = (TUserstation)havestatinlist.get(k);
if (havestation.getStationsid().equals(station.getId())){
bl = true;
break;
}
}
if (bl){
%>
<input name=setStationbox checked="checked" type=checkbox value="<%=station.getId()%>" /><%=station.getStationname()%><br>
<%
}else{
%>
<input name=setStationbox type=checkbox value="<%=station.getId()%>" /><%=station.getStationname()%><br>
<%
}
}
%>用forEach可以实现循环嵌套吗?里面的判断用<c:choose><c:when>应该可以实现吧
<c:set value="false" var="bl"/> <c:forEach var="hs" items="${havestatinlist}">
<c:set value="${hs}" var="havestation"/>
<c:if test="${havestation.getStationsid().equals(station.getId())}">
<c:set value="true" var="bl"/>
</c:forEach> <c:choose>
<c:when test="${bl==true}">
<input name=setStationbox checked="checked" type=checkbox value="${station.getId()}" />
${station.getStationname()}<br>
</c:when>
<c:otherwise>
<input name=setStationbox type=checkbox value="${station.getId()}" />
${station.getStationname()}<br>
</c:otherwise>
</c:choose></c:forEach>
<c:set value="${hs}" var="havestation"/> 这里 forEach里已经定义 hs变量了 var="hs",后面test里可以直接用啊。
<c:if test="${hs.getStationsid().equals(station.getId())}">
<c:forEach var="hs" items="${havestatinlist}">
<c:if test="${hs.getStationsid().equals(station.getId())}">
<c:set value="true" var="bl"/>
</c:if>
</c:forEach>
" e function stationsid must be used with a prefix when a default namespace is not specified "
<c:set value="false" var="bl"/>
<c:forEach var="hs" items="${havestatinlist}">
<c:if test="${hs.stationsid==ls.id}">
<c:set value="true" var="bl"/>
</c:if>
</c:forEach> 多谢大家:)