在写后台的时候要用checkbox来批量提交,百度一下,发现相关文章很少,搞了半天张终于弄好了,记下来先。
这里要说明的是html的checkbox的传值,并非,s:checkbox
如果提交的是多个name一样的checkbox,struts2是用List来接收的。
页面:
1 <form name="checkForm" id="checkForm" method="post" action="/user/deleteUsers"> 2 3 <ul> 4 5 <li><input type="checkbox" name="checkAll" id="checkAll" onclick="selectAllBox()"/></li> 6 7 <li><input type="checkbox" name="tags" value="1" /></li> 8 9 <li><input type="checkbox" name="tags" value="2" /></li> 10 11 <li><input type="checkbox" name="tags" value="3" /></li> 12 13 <li><input type="checkbox" name="tags" value="4" /></li> 14 15 <li><input type="checkbox" name="tags" value="5" /></li> 16 17 <li><a href="javascript:document.getElementById('checkForm').submit();">提交</a></li> 18 19 </ul> 20 21 </form>
全选 js:
1 function selectAllBox(){ 2 3 var checkAll=document.getElementById("checkAll"); 4 5 var tags=document.getElementByName("tags"); 6 7 if(checkAll.selected==true){ 8 9 for(int i=0;i<tags.length;i++){ 10 11 tags[i].selected=true; 12 } 13 }else{ 14 15 for(int j=0;j<tags.length;j++){ 16 17 tags[i].selected=false; 18 } 19 } 20 21 }
struts.xml配置:
1 <package name="userpk" namespace="/user" extends="struts-default"> 2 3 <action name="deleteUsers" class="com.txm.action.UserAction" method="deleteUsers"> 4 5 <result name="success">/admin/main.jsp</result> 6 </action> 7 8 </package>
UserAction :
1 private List tags; 2 3 public String deleteUsers(){ 4 5 System.out.println("class-->UserAction, method-->deleteUsers"); 6 7 System.out.println(tags); 8 9 return SUCCESS; 10 11 } 12 13 public void setTags(List tags){ 14 15 this.tags=tags; 16 17 } 18 19 public List getTags(){ 20 21 return this.tags; 22 23 }