大家好,我的需求是:在jsp页面中每条数据后面加一个checkbox,用户自己选一些,之后点击“记录”在后台记录在一个list中,页面返回后,之前选中的checkbox要被选中,之前没有选的仍保持没有选中。
我用的是ssh框架,用iterator进入信息遍历,可是拿不到值,代码如下:
<s:iterator value="personList1" status="status" var="personl">
<td>
<s:iterator value="personList2" status="status" var="person2">
<s:if test="person1.personID==person2.personID">
<input type="checkbox" name="personIdSelect" checked="checked" value="${personId}"/>
</s:if>
</s:iterator>
</td>
</s:iterator>问题是: <s:if test="person1.personID==person2.personID">这里拿不到对象person1的ID值进行比较
我用的是ssh框架,用iterator进入信息遍历,可是拿不到值,代码如下:
<s:iterator value="personList1" status="status" var="personl">
<td>
<s:iterator value="personList2" status="status" var="person2">
<s:if test="person1.personID==person2.personID">
<input type="checkbox" name="personIdSelect" checked="checked" value="${personId}"/>
</s:if>
</s:iterator>
</td>
</s:iterator>问题是: <s:if test="person1.personID==person2.personID">这里拿不到对象person1的ID值进行比较
这样写看看
org.apache.jasper.JasperException: /selectMoreResults.jsp(100,13) According to TLD or attribute directive in tag file, attribute test does not accept any expressions我的qq是593554097 希望大家加我,在qq上说方便点,谢谢
加上这个<%@ page isELIgnored ="true" %>看看
三楼说的可以,不过现在有个问题是:当#person1.personID == #person2.personID,就输出一个选中的checkbox,问题就来了,当没有符合的配置信息时,就要输出一个没有选中的checkbox,这个怎么判断?
选中
</s:if>
<s:else>
不选中
</s:else>
但它是两个iterator进行循环遍历 ,即使相等了,也不会中途停下来,还会一直遍历到底
这其中放的值有吗?应该是value="${person1.personId}"
在后台直接resuest.getParameterValues("personIdSelect")就可以得到所有选中的吧