我有一个 JSP 页面 1,在这个 JSP 页面中我有一个可以说 link1。当我单击该链接时,它转到 JSP 2。现在在 JSP 2 中,我有 4 个包含 jspf 页面。页眉/页脚/搜索框/主要内容页面。现在在此搜索框 jspf 页面中,我有搜索页面 html 代码,其中我有选择字段,用户在搜索时选择一个选项。现在,当我执行多个页面搜索相同的选项值字段时,它没有在整个搜索页面中保持其价值。我需要为同一个用户会话保持该价值,我该如何实现?
我尝试的一些事情,对于搜索页面,我将选择框的值存储在会话中,然后在 jspf 页面中,我尝试通过类似这样的 jstl 检索它。,
<
select name="Name" class="cl-search" id="id-search" lang="en">
<c:choose>
<c:when test="${ empty sessionScope.TEST1}">
<option id="bt" value="test1">TEST1</option>
</c:when>
<c:otherwise>
<option id="bt" value="test1"><c:out value="${sessionScope.TEST1}"/></option>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${ empty sessionScope.TEST2}">
<option id="gt" value="test2">TEST2</option>
</c:when>
<c:otherwise>
<option id="gt" value="test2"><c:out value="${sessionScope.TEST2}"/></option>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${ empty sessionScope.TEST3}">
<option id="tod" value="test3">TEST3</option>
</c:when>
<c:otherwise>
<option id="gt" value="test3"><c:out value="${sessionScope.TEST3}"/></option>
</c:otherwise>
</c:choose>
在servlet中我有这样的东西,
String selectvalue = request.getParameter("selectname");
HttpSession session = request.getSession();
if(selectvalue.equals("test1")){
session.setAttribute("TEST1",test1);
}else if(selectvalue.equals("test2")){
session.setAttribute("TEST2",test2);
}else if(selectvalue.equals("TEST3")){
session.setAttribute("TEST3",test3);
}
不确定我是否正确解释了我的问题,我只希望用户从选择框中选择一个值并进行搜索,如果搜索结果跨越多个页面,我如何在该类别的所有页面中保持相同的选择值对于用户的那个会话。我在选择字段中有接近 10 个值,取决于这个值是否调用了不同的 DAO 类。