当前位置 : 主页 > 编程语言 > java >

JSP標準アクション--アクションタグ

来源:互联网 收集:自由互联 发布时间:2021-06-25
アクションタグ JSPで定義されたタグで、オブジェクト管理やリクエスト処理を行うために利用する。 jsp:forward 指定したファイルにリクエストを転送する。 jsp:getProperty 指定したBe

アクションタグ

JSPで定義されたタグで、オブジェクト管理やリクエスト処理を行うために利用する。

  • <jsp:forward>
指定したファイルにリクエストを転送する。
  • <jsp:getProperty>
指定したBeanオブジェクトのプロパティを表示する。
  • <jsp:include>

指定したファイルの処理を実行し、結果を表示する。

  • <jsp:param>
値を渡すパラメータを指定する。
  • <jsp:plugin>
クライアントブラウザを判別し、Javaプラグインを埋め込んだHTMLを生成するタグ
  • <jsp:setProperty>
指定したBeanオブジェクトのプロパティに値を設定する。
  • <jsp:useBean>
JavaBeansを、名前をつけて特定のスコープに定義する。

 

<jsp:forward>タグ

指定したファイルにリクエストを転送する。

<jsp:forward page="/send.jsp" />

属性

  • page
転送先のファイルを相対パスで指定する。

※属性名が赤色のものは必須項目です。

使用例

①リクエストを転送する。
以下はsend.jspにリクエストを転送している。

<jsp:forward 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
利用したいBean名を指定する。
  • property
Beanのプロパティ名を指定する。getXxxx()のxxxx

※属性名が赤色のものは必須項目です。

使用例

①指定したBeanオブジェクトのプロパティを表示する。
Bean「truck」に存在するgetMeter()の戻り値がhtmlに出力される。
また、Beanに存在するgetterメソッドを実行しているのと変わりないので、
<%=truck.getMeter() %>でも同じ結果が得られる。

<jsp:getProperty name="truck" property="meter" />

<%=truck.getMeter() %>

 

<jsp:include>タグ

 

指定したファイルの処理を実行し、結果を表示する。

<jsp:include page="/send.jsp" /> 属性
  • page
転送先のファイルを相対パスで指定する。
  • flush
バッファをフラッシュするか指定する。デフォルトfalse

※属性名が赤色のものは必須項目です。

 

使用例

①ファイルをインクルードする。
以下はsend.jspを実行し、結果を表示する。

<jsp:include page="/send.jsp" />

(send.jspファイル)
送信しました。

(htmlコード)
送信しました。

 

②パラメータ付きファイルをインクルードする。
<jsp:include>タグのボディ部に<jsp:param>タグを利用することで指定したファイルにパラメータを転送することができる。

<jsp:include page="/send.jsp" >
  <jsp:param name="userName" value="hoge" /> 
<jsp:include/>

 

備考

①includeとforwardの違い
include???転送先のプログラムを実行した後、処理が転送元に戻る。
forward???転送先に処理が完全に移行し、処理が転送元に戻らない。
よって<jsp:include>タグを利用した場合、指定したファイルの処理の実行後、プログラムの続きを実行する。

<jsp:param>タグ

 

値を渡すパラメータを指定する。
<jsp:include>タグおよび<jsp:forward>タグのボディ部に用いる。

<jsp:param name="week" value="sunday" />

属性
  • 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
javaプラグインのタイプを指定する。
  • align
表示する位置を指定する。
  • archive
アーカイブを指定する。
  • codebase
基本パスを指定する。
  • height
表示する高さを指定する。
  • hspace
左右方向の余白余白を指定する。
  • iepluginurl
インターネットエクスプローラーでJREプラグインをダウンロードするURLを指定する。("http://~")
  • jreversion
JREのバージョンを指定する。
  • name
定義したい新しい名前を指定する。
  • nspluginurl
ネットスケープナビゲーターでJREプラグインをダウンロードするURLを指定する。("http://~")
  • 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
利用したいBean名を指定する。
  • property
Beanのプロパティ名を指定する。setXxxx()のxxxx
  • param
リクエストから送信されたパラメータを指定し、取得できた値を指定する。
  • value
プロパティに設定する値を指定する。

※属性名が赤色のものは必須項目です。

 

使用例

①指定したBeanオブジェクトのプロパティに値を設定する。
Bean「truck」に存在するsetMeter()の引数に「200」を設定する。
また、Beanに存在するsetterメソッドを実行しているのと変わりないので、
<% truck.getMeter("200"); %>でも同じ結果が得られる。

<jsp:setProperty name="truck" property="meter" value="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」となる。
(page、request、session、aplication)
  • class
JavaBeansの完全修飾クラス名で指定する。
  • beanName
JavaBeans名を指定する。
  • type
インスタンスの実行時の型を指定する。

※属性名が赤色のものは必須項目です。

※class属性もしくはbeanName属性のいづれかを指定する必要がある。いづれも指定しなかった場合、指定スコープに存在しているとみなされる。

※type属性は以下の場合必須属性となる。
①beanName属性指定する場合
②すでにスコープに存在し、class属性を省略する場合

 

使用例

①インスタンスを生成し、スコープに定義する。
以下1行目は、「jp.co.bean.car」クラスをインスタンス化し、「truck」という名前を付けてsessionスコープに定義している。
2行目は定義した「truck」のプロパティを取得し表示している。

<jsp:useBean id="truck" class="jp.co.bean.car" scope="session" /> 
<%= truck.getMeter() %>


②すでに存在するインスタンスを利用する。
,すでに存在するため、classの定義は不要である。
以下は、インスタンス実行時に「jp.co.bean.car」で生成したオブジェクトを「truck」という名前を付けてsessionスコープに定義している。

<jsp:useBean id="truck" type="jp.co.bean.car" scope="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>
网友评论