论坛首页 入门技术论坛

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

浏览 3780 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-04  
       
        之前为加强内部管理而设计的“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层的定义好的接口就可以对数据进行处理了。
对于提交其他类型的多个参数也可以使用这种隐性的提交方式。
 
有什么不妥的需要指出的地方欢迎大家和我交流。
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics