サーブレットとJSPを行き来し、入力した値によって表示内容を変化させるものを作成しております。
サーブレットには、getメソッド(初期表示のみで使用) postメソッド(ボタン押下時にし使用)があるのですが、postメソッドを通るとgetメソッドで取得した内容が消えてしまいます。
引き続きgetメソッドの取得内容をjspで使用するにはどうしたら良いのでしょうか。
初心者につき至らぬ点があると思いますが、よろしくお願いします。
以下参考ソース
【get(初期表示のためにプルダウンで使用するデータを取得)】
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ExpensesForm expensesFormBeen = new ExpensesForm();
try { // SESSION取得 HttpSession session = request.getSession(); UserEntity userBean = (UserEntity) session.getAttribute(SessionDefine.USER_INFO); // セッションタイムアウトしているか判定 if (userBean == null) { RequestDispatcher rd = request.getRequestDispatcher("/pages/error.jsp"); rd.forward(request, response); } else { ExpensesNmService expensesNmService = new ExpensesNmService(); expensesFormBeen = expensesNmService.init(); // } } // リクエストスコープ request.setAttribute("expensesForm1", expensesFormBeen); RequestDispatcher rd = request.getRequestDispatcher("/pages/expenses.jsp"); rd.forward(request, response); } catch (Exception e) { // TODO 自動生成された catch ブロック e.printStackTrace(); }
【Post(JSPのボタン押下時に動く)】
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { T_TransForm t_TransFormBean = new T_TransForm(); try { // SESSION取得 HttpSession session = request.getSession(); UserEntity userBean = (UserEntity) session.getAttribute(SessionDefine.USER_INFO); if (userBean == null) { RequestDispatcher rd = request.getRequestDispatcher("/pages/error.jsp"); rd.forward(request, response); } else { String methodNm = request.getParameter("methodName"); ExpensesNmService expensesNmService = new ExpensesNmService(); t_TransFormBean = expensesNmService.search(request); } } request.setAttribute("expensesForm2", t_TransFormBean); // expenses.jspへforward RequestDispatcher rd = request.getRequestDispatcher("/pages/expenses.jsp"); rd.forward(request, response); } catch (Exception e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } }
また、JSP上でどちらを通ったかを判定したいのですが、フォワード内容を見て処理を分岐させるといったことはできるのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。