- Home ›
- サーブレット/JSP入門 ›
- アクションタグ
forward+paramアクション
「param」アクションを「forward」アクションと同時に用いることで、フォワードされる時にフォワード先に渡すリクエストに新しいパラメータを追加して渡すことができます。
「param」アクションの書式は次の通りです。
<jsp:param name="パラメータ名" value="値" />
「param」アクションは属性値として「name」にパラメータ名と、「value」に格納する値を指定します。「forward」アクションと組み合わせて利用する場合には「forward」アクションの子要素として定義します。パラメータは必要な数だけ記述して下さい。
<jsp:forward page="転送先のページ"> <jsp:param name="パラメータ名" value="値" /> <jsp:param name="パラメータ名" value="値" /> </jsp:forward>
フォワード先のJSPページ又はサーブレットでは、渡されてきたパラメータを「getParameter」又は「getParameterValues」を使って値を取り出すことができます。(「getParameter」については『リクエストパラメータの取得(getParameter)』を参照して下さい)。
String val = request.getParameter("paramName");
※requestは暗黙オブジェクトの1つで、クライアントからのリクエストに関するパラメータやクッキーなどの情報が含まれます。
サンプルプログラムの実行
それでは実際に試してみましょう。コンテキストファイルは次のようにします。
<Context path="/action" docBase="d:/jsp-sample/action"/>
JSPページは次のようになります。
<%@ page contentType="text/html;charset=Shift_JIS" %> <jsp:forward page="forwardTo.jsp"> <jsp:param name="from" value="forwardFrom2.jsp" /> </jsp:forward> <html> <head><title>forwardテスト</title></head> <body> <h1>forwardテスト</h1> </body> </html>
<%@ page contentType="text/html;charset=Shift_JIS" %> <html> <head><title>転送先ページ</title></head> <body> <h1>転送先ページ</h1> <p> 転送元のページは <% String source = request.getParameter("from"); out.print(source); %> です。 </p> </body> </html>
JSPページはコンテキストファイルで指定したドキュメントルートの直下に置いておきます。
[D] -- jsp-sample | +-- action | | +-- (forwardFrom2.jsp) | +-- (forwardTo2.jsp) |
それでは「http://localhost/action/forwardFrom2.jsp」にブラウザからアクセスします。次のように表示されれば成功です。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。