怎么把每一页中都含有checkbox,但是提交是把所有的选中checkbox中的数据全部提交?

解决方案 »

  1.   

    String arr[] = request.getParameterValues("checkbox的名字"); 不知道是不是你想要的!
      

  2.   

    你说明白点,提交到那啊。
    struts 2话在action里面设置set<String> checkbox的名字,提供get and set 
    就行了 但是jsp中的 checkbox的名字和action中set的名字要一致
      

  3.   

    写一个fuction看下可以吗?把每个页面的都点击了的checkbox放入到一个list里面
      最后直接传这个list,你试下看可以吗
      

  4.   

    1.       怎么在多个JSP页面之间进行参数传递?需要使用JSP的内置作用域对象session。利用它的两个方法setAttribute(),getAttribute() 2.       下面的这个实例实现了把第一个JSP页面的参数传递给第三个页面的功能 3.       代码如下:1.jsp 
     
    <html>        <form method=get action=2.jsp>        what's your name<input type=text name=username>        <input type=submit value=submit>        </form> </html> 
    4.       2.jsp <html>               <form method=post action="3.jsp?pass=11">        <%               String name=request.getParameter("username");               session.setAttribute("username",name);        %>        Your name is:<%=request.getParameter("username")%>        <br>what's your hobby<input type=text name=hobby>        <input type=submit value=submit>        </form> </html> 
    5.       3.jsp <html> 
           your name is:<%=session.getAttribute("username")%>        <br>        your hobby is:<%=request.getParameter("hobby")%>        <br>        your password is:<%=request.getParameter("pass")%>        <br> 
           </form> 
    </html> 
      

  5.   

    这个很困难的
    要是点击下一页的时候你提交到action里了的话
    那么页面必将被刷新的
    所以你可以使用静态变量来保存这些信息思路给你了
    其他的就该是你自己的事情了
      

  6.   

    要么用session来完成,要么用servletcontext来完成也可以的
      

  7.   

    我了解了,我做过类似的东西.情况是这样的:
    第一页: 我选了3个checkbox.我按了下一页
    第二页: 我又选了1个checkbox,然后直接跳转到第n页..
    第n页: 我选了2个checkbox. 
    而且我回到第二页时,我已选好的必须也要选上..等等...以前我是这样做的:使用dwr,每页的每个checkbox都有单击事件吧?  单击的时候把当前选中的值传向后台.(dwr).
    后台可以使用list 保存,然后做相应的判断,如果是取消选择则删除list中的元素.
    然后将这个list保存到session中,你也可以选择将该list申明为全局的。那样不用保存到session也可以.
    然后下一页..同上...如果回上一页.或则下一页.取存放值的list,进行比较,如果list中存在,则checkbox选中...!当提交的时候,到相应的list中把所有选择好的值获取到,然后清空list希望对你有所帮助...
      

  8.   

    引用15楼的以前我是这样做的:使用dwr,每页的每个checkbox都有单击事件吧? 单击的时候把当前选中的值传向后台.(dwr).
    后台可以使用list 保存,然后做相应的判断,如果是取消选择则删除list中的元素.
    然后将这个list保存到session中,你也可以选择将该list申明为全局的。那样不用保存到session也可以.
    然后下一页..同上...如果回上一页.或则下一页.取存放值的list,进行比较,如果list中存在,则checkbox选中...!当提交的时候,到相应的list中把所有选择好的值获取到,然后清空listAloysHeung  很不错的方法.可以解决问题一般处理分布这样的问题确实麻烦,最好的办法是不分页。
      

  9.   

    其实使用SESSION可以解决问题,不过就从我的开发来说,我一般不愿意让服务器去承担这部分责任,因为服务器是比较被动的,而且也是客户端所共享的东西,我认为它更多的精力应该去处理业务事务(个人意见),类似保存到服务器的话,如果半天不提交,这个缓存将保存很长的时间(其实在JVM虚拟机回收上是有很多缺陷的,我认为顾忌它一点也未必是坏事),我一般习惯将他们存储在客户端,当然只是参考而已。至于使用什么办法关键看你的客户端的界面是如何做的,对于一下几种情况,根据实际情况而定:1、翻页采用刷新页面,客户端跳转页面,传递不同参数给与翻页。
    方法是:影藏标记,改隐藏标记就记录一个字符串,记录了所有选中单元的拼串结构,如:123,345,,在跳转过程中,将隐藏标记一起提交,下一个页面隐藏标记继续输出,然后选中的继续在后面追加,一般是同一个页面,只是参数不同而已,所以,推荐使用struts的form填充,然后隐藏标记就很方便使用了,最后提交时提交上去即可。2、翻页采用异步交互(如AJAX)后提取数据,获取数据,然后直接通过JS修改表格值(不需要刷新界面,很多网站也是这样做的):
    此时就更加简单了,因为不存在页面跳转,此时,就只需要哪一个JS全局变量记录下来就可以了,提交前放入一个隐藏标记中,提交到后台就行了。3、翻页若使用页面刷新,但是存在父子页面,如:iframe,此时,解决办法同上,将数据交给父亲页面,子页面刷新,选中的都交给父亲页面的一个隐藏标记(通过window.parent.document可以得到父页面的元素调用)。可能你会问,如果我将某一个不选中怎么办,首先我只会在提交和翻页时,将数据交给页面的一个隐藏标记,这样减少我们拼串的操作;但是如果你需要翻页再翻回来的时候,它再做操作,或者将以前选中的挑掉怎么办?这个很简单,比如现在选中了一个"123,234,543,445,",记录在全局变量allIds中,此时它要将234这个挑掉怎么弄,最简单的办法:allIds = allIds.replace("234,","");就可以了这部分完全是客户端的操作,和服务器没有任何关系,将数据组织完后,一起提交到服务器端,将数据split开就OK,其实很多时候服务器不需要扯开直接用,要的就是拼好的数据,至少我是这样,具体问题具体分析吧。不过怎么说呢,仅仅参考,这个办法需要琢磨清楚才比较好用,呵呵
      

  10.   

    我知道楼主说的什么意思...你只要把chekebox的name属性设置成一样的就可以了,然后提交后request.getprameter("chekebox的name属性")
      

  11.   


    取出的数据怎么和页面中的checkbox相比较呀?
    我的代码:
    <s:iterator id="list" value="zfztxxPage.result" status="status" >
    <tr align="center" height="25" class="lianjie">
    <td class="right">
    <s:set name="flag" value="false" scope="page" ></s:set>
    <s:set name="bodids" value="#list.enforcementBodyId" scope="page"></s:set>
     
    <s:iterator value="checks" id="ch" >
    <s:if test="bodids==ch">
    <s:set value="true" name="flag"></s:set>
    <s:checkbox id="enforcementBodyIds"  name="enforcementBodyIds" value="true" fieldValue="%{enforcementBodyId}"  />
    </s:if>
        </s:iterator>

        <s:if test="flag==flase">
        <s:checkbox id="enforcementBodyIds"  name="enforcementBodyIds" value="false" fieldValue="%{enforcementBodyId}"  />
        </s:if>
       
    </td>   
    <td align="left" class="right">&nbsp;<s:property value="enforcementBodyName"/> </td>
    <td class="right"><s:property value="legalRepresentative" /></td>
    <td class="right" align="left">&nbsp;<s:property value="address" /></td>
    <td class="right"><s:property value="enforcementCategory"/></td>
    <td class="right"><s:property value="enforcementArea" /></td>

    </tr>
    </s:iterator> 
    但是其最后无法判断
      

  12.   

    在request 内置对象中有个叫getparameter()的方法是用来或的单个的值,也有一个方法是用来获得一个数组的,你可以查以下帮助,具体的方法名我记不住了,你试一下