現在、検索基準の属性を 2 つのページ (検索ページと編集ページ) の間のセッションに保存しようとしています。目標は、sYear、submission、collectionPeriod の 3 つの変数を保存することです。以下の検索画面コントローラーで、これらをセッションに追加しています。
request.getSession().setAttribute("sYearSave", sYear);
request.getSession().setAttribute("submissionSave", submission);
request.getSession().setAttribute("collectionPeriodSave", collectionPeriod);
編集画面コントローラーで、ブール値isFromEditScreen
をtrue.
This is に設定したので、編集画面から来ていることがわかります。変数を出力し、編集コントローラー画面で値を正しく取得します。
request.getSession().setAttribute("isFromEditScreen", new Boolean(true));
sYearSave = (String)request.getSession().getAttribute("sYearSave");
collectionPeriodSave = (String)request.getSession().getAttribute("collectionPeriodSave");
submissionSave = (String)request.getSession().getAttribute("submissionSave");
しかし、問題は、[戻る] ボタンを使用して検索画面に戻ると、検索条件のsYearSave, collectionPeriodSave, and submissionSave
値が返されることですNULL.
。何らかの理由で、isFromEditScreen
ブール値が正常に機能して返されますtrue.
。実際にはステートメントに入力されますが、検索条件が返されnull.
ます。検索コントローラーのコードは次のとおりです。 :
if (isFromEditScreen != null && isFromEditScreen == true) {
System.out.println("Inside isFromEditScreen ==== true");
sYear = (String)request.getSession().getAttribute("sYearSave");
collectionPeriod = (String)request.getSession().getAttribute("collectionPeriodSave");
submission = (String)request.getSession().getAttribute("submissionSave");
sYearSave = (String)request.getSession().getAttribute("sYearSave");
collectionPeriodSave = (String)request.getSession().getAttribute("collectionPeriodSave");
submissionSave = (String)request.getSession().getAttribute("submissionSave");
System.out.println("sYearSave ==== " + sYearSave);
System.out.println("submissionSave ==== " + submissionSave);
System.out.println("collectionPeriodSave ==== " + collectionPeriodSave);
System.out.println("isFromEditScreen set in else ==== " + isFromEditScreen);
}
どんな助けでも大歓迎です!