アクションタグ
アクションタグ・・・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"/>