前台表现层提交多个checkbox,Struts后台处理的方法(总结)

       
        之前为加强内部管理而设计的“IP管理系统”整体框架采用Struts1.2,数据库层使用手工编码Dao,由于小型项目没有考虑使用工厂模式数据库设计。在表现层上做了些文章。
        在 提交多个checkbox时还是具有些参考价值的,今天有人在提交多个checkbox时同样遇到问题,可能是最近一直在研究AJAX的缘故,写代码时更倾向于客户端执行,而非服务器端执行生成方式,这样可以尽可能减少服务器负载,所以优先考虑js提交,而非struts标签库。如果要考虑编写代码的便捷,或许选择JSF tags比Struts tags更有效率。废话太多了。,下面是前台js提交的代码:
 
js 代码
 
js 代码
  1. function selCheck(){       
  2. var objs = document.getElementsByTagName("input");   
  3.  var checkstr = "";   
  4.  for(var i=0;i<objs.length;i++)
  5.  {
  6.      if((objs[i].type.toLowerCase() == "checkbox") & (objs[i].checked == true))   
  7.      {   
  8.       if(checkstr!="")   
  9.       {   
  10.        checkstr+=",";   
  11.       }   
  12.       checkstr += objs[i].value;   
  13.     }   
  14. }
  15.    if(checkstr=="")   
  16.    {
  17.     alert("请选择...!");   
  18.     return false;   
  19.    }   
  20.    else  
  21.    {   
  22.      location.replace("view.do?cmdType=addmanagedip&id="+checkstr+"");   
  23.    }     
服务器端 Struts Action 部分只需要通过request.getParameter("id")得到字符串,然后通过数组 String[] checked = checkedstr.split(",");得到所有选择的checkbox的id,调用dao层的定义好的接口就可以对数据进行处理了。
对于提交其他类型的多个参数也可以使用这种隐性的提交方式。
 
有什么不妥的需要指出的地方欢迎大家和我交流。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值