servletはどのようにjspページに値を渡しますか?
Servletは、リクエストディスパッチとリダイレクトの2つの方法を使用してJSPページに値を渡すことができます。
- リクエストの転送:Servletの中で、リクエストの属性を設定して、JSPページにデータを渡します。コード例:
request.setAttribute("message", "Hello JSP!");
RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp");
dispatcher.forward(request, response);
JSPページでは、EL式${message}を使用して、渡された値を取得することができます。
- リクエストのリダイレクト:Servlet内で、URLパラメータを設定したり、データをセッションに保存してJSPページにデータを渡す方法です。コード例:
response.sendRedirect("index.jsp?message=Hello JSP!");
JSP ページで、URL パラメータで渡された値は request.getParameter(“message”) で取得できます。または、Session に保存されている値は ${sessionScope.message} で取得できます。
注意すべきは、リクエスト転送はサーバー内でのジャンプであり、リクエストリダイレクトはクライアントのジャンプである。