如何在分页期间保留用户勾选的复选框值

时间:2014-03-27 05:25:51

标签: jquery jsp struts2 pagination displaytag

我正在使用struts框架创建一个在线测试应用程序。在jsp页面中,我使用display tag来浏览问题。我能够显示一个问题,每页有4个选项。这是我的代码。

<form method="get">
 <display:table name="${sessionScope.questionList}" id="quest" pagesize="1"                                                                                                                          
     requestURI="display.jsp">
        <display:column title="Stuff">
            <c:out value="${quest.quesId}"/><br/>
            <c:out value=" ${quest.question}"/><br/>   
    <input type="checkbox" name="ans1" value="${quest.option1}" />  <c:out value="${quest.option1}"/><br/>
    <input type="checkbox" name="ans2" value="${quest.option2}" />  <c:out value="${quest.option2}"/><br/>
    <input type="checkbox" name="ans3" value="${quest.option3}" />  <c:out value="${quest.option3}"/><br/>
    <input type="checkbox" name="ans4" value="${quest.option4}" />  <c:out value="${quest.option4}"/><br/>
        </display:column>
    </display:table>
</form>

我的问题是,在第1页中,如果用户选择了一个复选框选项并转到下一页,那么当他返回该页面时,该复选框将被取消选中,反之亦然。我怎么解决这个问题 ?请帮我解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:0)

HTTP是无状态的,因此导航到下一页时所有值都会丢失。您可以将url中的值作为参数传递。您需要创建名称与辅助bean上的复选框的name属性匹配的变量。您还需要创建getter和setter,以便框架(如果使用的话)可以将值映射到这些变量

然后你可以从你的页面访问这些变量并使用JSTL检查是否满足条件并勾选复选框

<c:if test="${condition}">checked="checked"</c:if>
相关问题