私はJSPページ1を持っています。このJSPページにはlink1と言うことができます。そのリンクをクリックするとJSP2に移動します。JSP2では、4つのインクルードjspfページがあります。ヘッダー/フッター/検索ボックス/メインコンテンツページ。この検索ボックスのjspfページに、検索ページのhtmlコードがあります。このコードには、ユーザーが検索中に1つのオプションを選択する選択フィールドがあります。複数のページを実行すると、同じオプション値フィールドを検索します。検索ページ全体でその値を維持していません。同じユーザーセッションでその値を維持する必要があります。これを実装するにはどうすればよいですか。
私が試したいくつかのことは、検索ページで、選択ボックスの値をセッションに保存してから、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>
サーブレットには、次のようなものがあります。
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);
}
問題を正しく説明したかどうかはわかりませんが、ユーザーが選択ボックスから1つの値を選択して検索を実行し、検索結果が複数のページにまたがる場合、そのカテゴリのすべてのページで同じ選択値を維持するにはどうすればよいですか?ユーザーのそのセッションでは、選択フィールドに10近くの値があります。この値に応じて、DAOのさまざまなクラスが呼び出されます。