転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

【技術書メモ】基礎からのサーブレット⑳

アクションタグ

アクションタグ・・・JSPからあらかじめ用意されたJavaプログラムを呼び出すための仕組み。
標準アクション・・・JSPにあらかじめ用意されているアクションタグ。のような形式で記述。
カスタムタグ・・・開発者が独自に作成したタグ。
タグライブラリ・・・関連するカスタムタグ群をまとめたもの。

アクションタグでBeanを取得するプログラム

@WebServlet(urlPatterns={"/chapter20/tag"})
public class Tag extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		Product p = new Product();
		p.setId(1);
		p.setName("まぐろ");
		p.setPrice(100);

		// 属性名をproductで、Beanをリクエスト属性に設定
		req.setAttribute("product", p);

		// JSPファイルにフォワード
		req.getRequestDispatcher("tag.jsp").forward(req, resp);

	}

}
<!-- Beanのオブジェクト生成  -->
<jsp:useBean id="product" class="bean.Product" />

<p>
<!-- getPropertyアクション  -->
<!-- name="Bean名" property="プロパティ名"  -->
<jsp:getProperty name="product" property="id" />:
<jsp:getProperty name="product" property="name" />:
<jsp:getProperty name="product" property="price" />
</p>

Beanを生成するJSP

<!-- Beanのオブジェクト生成  -->
<jsp:useBean id="product" class="bean.Product" />

<jsp:setProperty name="product" property="id" value="2" />
<jsp:setProperty name="product" property="name" value="サーモン" />
<jsp:setProperty name="product" property="price" value="100" />

<jsp:getProperty name="product" property="id" />:
<jsp:getProperty name="product" property="name" />:
<jsp:getProperty name="product" property="price" />

forwardアクション

<!-- forwardアクション  -->
<jsp:forward page="/chapter9/forward.jsp"/>

includeアクション

<!-- includeアクション -->
<jsp:include page="/chapter9/include1.jsp"/>
<jsp:include page="/chapter9/include2.jsp"/>

includeアクションとincludeディレクティブ

includeディレクティブ・・・JSPサーブレットに変換する際に、インクルードを行う。1つのサーブレットが生成される。
includeアクション・・・JSPから変換後のサーブレットがリクエストを処理する際に、インクルードを行う。2つのサーブレットが生成される。