学习了Struts2中的标签s:checkbox 的重大用处:
1.理解s:checkbox的属性
属性value只能是true或者false,表示复选框是否选中;
属性 fieldValue属性才表示与name="ids"的value值。
注意:如果复选框选中那么fieldValue值可以给name="ids"赋值。如果有多个就会是一个字符串"1,2,3,4..."
这个标签可以很方便的获取一些数据的id值,并且转化到后台只需分离开字符串即可得到各个id。
例如:jsp页面如下 注意jsp中要自己写js代码来表示是否全选 选中等情况。
<s:iterator value="%{#request.sysUserGroups}" var="sysUserGroup">
<tr>
<td>
<s:checkbox name="ids" cssClass="checkbox" fieldValue="%{#sysUserGroup.id}" οnclick="changeCheckCount();"/>
</td>aa
<td><a href="${pageContext.request.contextPath}/sys/sysusergroup_edit.do?id=<s:property value="%{#sysUserGroup.id}"/>"><s:property value="%{#sysUserGroup.name}"/></a></td>
<td><s:property value="%{#sysUserGroup.principal}" /></td>
<td><s:property value="%{#sysUserGroup.incumbent}" /></td>
<td><a href="javascript:OpenWin('${pageContext.request.contextPath}/sys/group/usersInGroup.jsp?id=12')">设置</a></td>
</tr>
</s:iterator>
后台获取:
//利用Struts2的属性驱动得到jsp页面传的ids
String[] id = ids.split("\\,");
Integer[] Intid = new Integer[id.length];
//String[] 数组转化成Integer 数组
for(int i=0;i<id.length;i++) {
//注意去掉空格
Intid[i] = Integer.parseInt(id[i].trim());
}
sysuserService.deleteSysUser(Intid);