アクションタグ
JSPで定義されたタグで、オブジェクト管理やリクエスト処理を行うために利用する。
- <jsp:forward>
- <jsp:getProperty>
- <jsp:include>
指定したファイルの処理を実行し、結果を表示する。
- <jsp:param>
- <jsp:plugin>
- <jsp:setProperty>
- <jsp:useBean>
<jsp:forward>タグ
指定したファイルにリクエストを転送する。
<jsp:forward page="/send.jsp" />
属性
- page
※属性名が赤色のものは必須項目です。
使用例
①リクエストを転送する。
以下はsend.jspにリクエストを転送している。
②パラメータ付きリクエストを転送する。
<jsp:foward>タグのボディ部に<jsp:param>タグを利用することで指定したファイルにパラメータを転送することができる。
<jsp:forward page="/send.jsp" ><jsp:param name="userName" value="hoge" />
<jsp:forward/>
備考
①includeとforwardの違い
include???転送先のプログラムを実行した後、処理が転送元に戻る。
forward???転送先に処理が完全に移行し、処理が転送元に戻らない。
よって<jsp:forward>タグを利用した場合、転送元には戻れない。
<jsp:getProperty>タグ
指定したBeanオブジェクトのプロパティを表示する。(JspWriterとして表現する。)
<jsp:getProperty name="truck" property="meter" /> 属性- name
- property
※属性名が赤色のものは必須項目です。
使用例①指定したBeanオブジェクトのプロパティを表示する。
Bean「truck」に存在するgetMeter()の戻り値がhtmlに出力される。
また、Beanに存在するgetterメソッドを実行しているのと変わりないので、
<%=truck.getMeter() %>でも同じ結果が得られる。
<%=truck.getMeter() %>
<jsp:include>タグ
指定したファイルの処理を実行し、結果を表示する。
<jsp:include page="/send.jsp" /> 属性- page
- flush
※属性名が赤色のものは必須項目です。
使用例
①ファイルをインクルードする。
以下はsend.jspを実行し、結果を表示する。
(send.jspファイル)
送信しました。
(htmlコード)
送信しました。
②パラメータ付きファイルをインクルードする。
<jsp:include>タグのボディ部に<jsp:param>タグを利用することで指定したファイルにパラメータを転送することができる。
<jsp:param name="userName" value="hoge" />
<jsp:include/>
備考
①includeとforwardの違い
include???転送先のプログラムを実行した後、処理が転送元に戻る。
forward???転送先に処理が完全に移行し、処理が転送元に戻らない。
よって<jsp:include>タグを利用した場合、指定したファイルの処理の実行後、プログラムの続きを実行する。
<jsp:param>タグ
値を渡すパラメータを指定する。
<jsp:include>タグおよび<jsp:forward>タグのボディ部に用いる。
属性
- name
- value
※属性名が赤色のものは必須項目です。
使用例
①パラメータ付きリクエストを転送する。
<jsp:foward>タグのボディ部に<jsp:param>タグを利用することで指定したファイルにパラメータを転送することができる。
以下は、パラメータ名「week」に「sunday」を格納し転送している。
<jsp:forward page="/send.jsp" >
<jsp:param name="week" value="sunday" />
<jsp:forward/>
<jsp:plugin>タグ
クライアントブラウザを判別し、Javaプラグインを埋め込んだHTMLを生成するタグ
<jsp:plugin type="applet" code="aaa.bbb.Test.class">ボディ</jsp:plugin>
属性
- code
- type
- align
- archive
- codebase
- height
- hspace
- iepluginurl
- jreversion
- name
- nspluginurl
- title
- vspace
- width
※属性名が赤色のものは必須項目です。
使用例
①Javaプラグインを実行する。
<jsp:plugin type="applet" code="TestApplet.class">
<jsp:params>
<jsp:param name="next" value="2"/>
</jsp:params>
<jsp:fallback>アプレットの起動に失敗しました。</jsp:fallback>
</jsp:plugin>
<jsp:setProperty>タグ
指定したBeanオブジェクトのプロパティに値を設定する。
<jsp:setProperty name="truck" property="meter" />
属性
- name
- property
- param
- value
※属性名が赤色のものは必須項目です。
使用例
①指定したBeanオブジェクトのプロパティに値を設定する。
Bean「truck」に存在するsetMeter()の引数に「200」を設定する。
また、Beanに存在するsetterメソッドを実行しているのと変わりないので、
<% truck.getMeter("200"); %>でも同じ結果が得られる。
<% truck.getMeter("200"); %>
②リクエストパラメータからBeanオブジェクトのプロパティに値を設定する。
以下はパラメータ付きGET通信を行った場合
http://localhost:8080/bean/test?meter=200
<jsp:setProperty name="truck" property="meter" value="200" />
<jsp:useBean>タグ
JavaBeansを、名前をつけて特定のスコープに定義する。
<jsp:useBean id="truck" class="jp.co.bean.car" />
属性
- id
- scope
(page、request、session、aplication)
- class
- beanName
- type
※属性名が赤色のものは必須項目です。
※class属性もしくはbeanName属性のいづれかを指定する必要がある。いづれも指定しなかった場合、指定スコープに存在しているとみなされる。
※type属性は以下の場合必須属性となる。
①beanName属性指定する場合
②すでにスコープに存在し、class属性を省略する場合
使用例
①インスタンスを生成し、スコープに定義する。
以下1行目は、「jp.co.bean.car」クラスをインスタンス化し、「truck」という名前を付けてsessionスコープに定義している。
2行目は定義した「truck」のプロパティを取得し表示している。
<%= truck.getMeter() %>
②すでに存在するインスタンスを利用する。
,すでに存在するため、classの定義は不要である。
以下は、インスタンス実行時に「jp.co.bean.car」で生成したオブジェクトを「truck」という名前を付けてsessionスコープに定義している。
③インスタンスを生成時にプロパティに初期値を格納し、スコープに定義する。
インスタンス生成時に初期値を格納する場合、ボディ部に指定することで実現する。
以下は、<jsp:setProperty>タグにて「meter」プロパティに「200」を格納している。
<jsp:useBean id="truck" type="jp.co.bean.car" scope="session" />
<jsp:setProperty name="truck" property="meter" value="200" />
</jsp:useBean>