Strutsアプリケーションでは、Viewとして主にJSPが使用されます。
そのため、StrutsではJSPの開発をサポートするカスタムタグライブラリを提供しています。
カスタムタグライブラリにより、HTMLタグとコードの混在が軽減され、可読性およびメンテナンス性の向上が期待できます。
なお、Strutsカスタムタグライブラリの詳細については、Strutsのマニュアルを参照してください。
カスタムタグライブラリの使用方法
JSPでカスタムタグを利用するには、Javaのimport文のようにカスタムタグの利用宣言を行う必要があります。
その際、taglibタグを使用してカスタムタグの構文を定義したtldファイルを指定します。
この指定にはいくつかの方法があります。
JSPファイルからの相対パスで指定する
Webモジュールからの絶対パスで指定する
配備記述子で定義したtldファイルのパスに対応するキーを指定する
コンテナがマッピングしているtldファイルのパスに対応するキーを指定する
JSPの詳細については、“Interstage Application Server / Interstage Web Server Java EE運用ガイド”を参照してください。
入力画面の作成
ユーザーの入力を受け付けるJSPを作成します。
例
(input.jsp)
<%@ page contentType="text/html; charset=UTF-8" %> <!-- (1) --> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <html> <body> <!-- (2) --> <html:form action="/sample.do" > Please input your name.<br> <!-- (3) --> <html:text property="name" /> <html:submit value="submit" /><br> </html:form> </body> </html> |
(1) strutsカスタムタグライブラリの宣言
Strutsカスタムタグライブラリを使用する場合に記述します。
(2) 入力フォーム
入力フォームを表します。 action属性でリクエスト送信先を指定します。
(3) テキストフィールド
テキストフィールドです。 property属性でActionFormのプロパティと紐付けをします。
出力画面の作成
業務ロジックでの処理結果を出力するJSPを作成します。
例
(result.jsp)
<%@ page contentType="text/html; charset=UTF-8" %> <!-- (1) --> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <html> <body> <!-- (2) --> <bean:write name="formbean" property="name" /><br> <br> <a href="./input.jsp">return</a><br> </body> </html> |
(1) strutsカスタムタグライブラリの宣言
Strutsカスタムタグライブラリを使用する場合に記述します。
(2) ActionFormにアクセス
カスタムタグを介して、ActionFormに格納されている値を出力します。