方法一:在用完form里的值以后(比如在action里)将checkbox对应的那个array置为null,好像可以;方法二:在你的页面上用js来控制(比如onload),把所有的checkbox全部checked=false好啦(取个document.forms[X].XXX的长度,做个循环就好)方法三:一定还有很多别的方法,暂时没想到

解决方案 »

  1.   

    struts-config.xml配置文件中将对应的ActionForm设置成request范围的,默认情况下ActionForm存在于session范围内
      

  2.   

    我在配置文件里都是设成request的。还是不行。
      

  3.   

    给每一个checkbox取一个名字分别提交
    在actionForm中用reset方法即可
      

  4.   

    正好是我前段时间遇到的问题,方法如下:
    '/user/rigister/ConditionForm':struts-config.xml中的form
    selectitem、ifcondition1、ifcondition2、ifcondition3:为ConditionForm中属性先在Action中取得form.getSelectitem();判断并设置ifcondition1、2、3的值为0或1从Action中返回jsp页面时,判断条件ifcondition1、2、3的值就可以了-----------------------------------------------------------------------
    <table width="100%" class="list-table">
    <tr class="Row-content1" align="center">
    <td>
    <c:choose>
    <c:when test="${requestScope['/user/rigister/ConditionForm'].ifcondition1 == '1'}">
    <input type="checkbox" name="selectitem" value="condition1" checked="checked" >
    </c:when>
    <c:otherwise>
    <input type="checkbox" name="selectitem" value="condition1" >
    </c:otherwise>
    </c:choose>
    </td>
    <td align="left">提供时间</td>
    </tr>
    <tr class="Row-content1" align="center">
    <td>
    <c:choose>
    <c:when test="${requestScope['/user/rigister/ConditionForm'].ifcondition2 == '1'}">
    <input type="checkbox" name="selectitem" value="condition2" checked="checked" >
    </c:when>
    <c:otherwise>
    <input type="checkbox" name="selectitem" value="condition2" >
    </c:otherwise>
    </c:choose>
    </td>
    <td align="left">已核实记录</td>
    </tr>
    <tr class="Row-content1" align="center">
    <td>
    <c:choose>
    <c:when test="${requestScope['/user/rigister/ConditionForm'].ifcondition3 == '1'}">
    <input type="checkbox" name="selectitem" value="condition3" checked="checked" >
    </c:when>
    <c:otherwise>
    <input type="checkbox" name="selectitem" value="condition3" >
    </c:otherwise>
    </c:choose>
    </td>
    <td align="left">已核实身份</td>
    </tr>
    </table>-----------------------------------------------------------------------
    格式不是太好,也不知道自己说的明不明白,但保证可以实现。
    看大家还有没更好的方法……
      

  5.   

    request.removeAttribute(mapping.getAttribute());
    这样可以吗?
      

  6.   

    回复人: 520zju(生活咖啡) ( ) 信誉:100  2005-12-12 12:50:00  得分: 0  
     
     
       request.removeAttribute(mapping.getAttribute());
    这样可以吗?
      
     
    -----------------------------------------
    试过,这种方法不是很好,这种方法只使用于action里处理完后到新页面,如果我在action里取数据库的记录,保存在ActionForm的对象里,到页面显示记录,request.removeAttribute(mapping.getAttribute())后,将不能显示从数据库里取到的记录
      

  7.   

    从数据库中取得值可以放到VO中,formbean只负责表单向action传值就可以了,反过来,从数据库中取得的值我一般用VO