使用SpringEval标记并在jsp中调用java方法而不使用scriptlet
:-)
我有一个问题。 我想在myCode时检查复选框的状态。id和CheckedList代码值相同
<c:forEach var="myCode" items="${myCodeList }" varStatus="status">
<tr>
<th>
<input type="checkbox" id="myCode${status.index}" name="myCodes" />
</th>
<td>
<textarea id="myContent${status.index}" name="myContents"></textarea>
</td>
</th>
</tr>
</c:forEach>
我从我的控制器中删除列表和检查列表。 mycodeList是一些代码列表的VO列表。 checkedList是我从regist视图中检查值的列表
<c:forEach var="myCode" items="${myCodeList }" varStatus="status">
<c:set var="myCodeFlag" value="false"
<tr>
<th>
<input type="checkbox" id="myCode${status.index}" name="myCodes"
<c:forEach var="checkedCode" items="${checkedList}">
<c:if test="${checkedCode.codId eq myCode.codId}">
checked="checked"
</c:if>
</c:forEach>
/>
</th>
<td>
<textarea id="myContent${status.index}" name="myContents"
<c:if test="${myCodeFlag eq flase}">disabeld="disabled"</c:if>>
<c:forEach var="checkedCode" items="${checkedList}">
<c:if test="${checkedCode.codId eq myCode.codId}">
${checkedCode.content}
</c:if>
</c:forEach>
</textarea>
</td>
</th>
</tr>
</c:forEach>
就像我想要的那样
但是我的老板告诉我更改代码更简单。 使用spring eval标记并调用java方法, 这意味着使用JSP中包含的Java列表方法
所以我试着在JSP页面中这样做。
${checkedList.contains('${myCode.codId }') }
但它不起作用。 我能做些什么来解决这个问题
谢谢你的帮助
祝你今天愉快:-)
# 1 楼答案
我改变了解决问题的方法
在控制器中, 将对象列表更改为对象地图
这意味着,我可以这样写代码
之前
之后
读书比以前好多了