[英]How to retain the user ticked checkbox value during pagination
我正在使用struts框架创建一个在线测试应用程序。 在jsp页面中,我正在使用显示标签浏览问题。 我可以每页显示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中,如果用户选择一个复选框选项并转到下一页,则当他返回该页面时该复选框未选中,反之亦然。 我怎么解决这个问题 ? 请帮助我。
提前致谢
HTTP是无状态的,因此当您导航到下一页时,所有值都会丢失。 您可以将url中的值作为参数传递。 您需要创建名称与后备Bean上的复选框的name属性匹配的变量。 您还需要创建getter和setter,以便框架(如果使用的话)可以将值映射到那些变量
然后,您可以从页面访问这些变量,并使用JSTL检查是否满足条件,并勾选复选框,如下所示
<c:if test="${condition}">checked="checked"</c:if>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.