###【目的】
JSPにて別ページへフォワードする
###【コード】
application.getRequestDispatcher("path").forward(request, response) // pathへフォワードする
###【環境】
eclipse 4.4.2 / Java 1.8
JSP / Servlet
###【構成】
###【ポイント】
・JSPの暗黙オブジェクトapplicationを使う
・application.getRequestDispatcher("path").forward(request, response)
→pathへフォワードする、 pathは/からはじまるものを指定する
※フォワードは原理的にサーバ内部のページへ転送するときに用いる。
requestを指定先に送るためrequestDispatcherのオブジェクトを使う。
サーブレットのコードならば以下のようになる。
example.java
...
public void doGet(HttpServletRequest req, HttpServletResponse resp){
throws IOException, ServletException{
...
String path = "/hoge.jsp"; // フォワード先
RequestDispatcher dispatcher = request.getRequestDispatcher(path);
dispatcher.forward(req, resp);
...
}
###【例】
・A.jspからB.jspへフォワードする
- web-application
| ・・・
|- A.jsp
|- B.jsp
A.jsp
...
<%
application.getRequestDispatcher("/B.jsp").forward(request, response); // B.jspへフォワード
%>
###【参考】
・リダイレクトとフォワードの違い