我正在使用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页中,如果用户选择了一个复选框选项并转到下一页,那么当他返回该页面时,该复选框将被取消选中,反之亦然。我怎么解决这个问题 ?请帮我解决这个问题。
提前致谢
答案 0 :(得分:0)
HTTP是无状态的,因此导航到下一页时所有值都会丢失。您可以将url中的值作为参数传递。您需要创建名称与辅助bean上的复选框的name属性匹配的变量。您还需要创建getter和setter,以便框架(如果使用的话)可以将值映射到这些变量
然后你可以从你的页面访问这些变量并使用JSTL检查是否满足条件并勾选复选框
<c:if test="${condition}">checked="checked"</c:if>