Strutsアプリケーションでは、Viewとして主にJSPが使用されます。
そのため、StrutsではJSPの開発をサポートするカスタムタグライブラリを提供しています。
カスタムタグライブラリにより、HTMLタグとコードの混在が軽減され、可読性およびメンテナンス性の向上が期待できます。
なお、Strutsカスタムタグライブラリの詳細については、Strutsのマニュアルを参照してください。
カスタムタグライブラリの使用方法
JSPでカスタムタグを利用するには、Javaのimport文のようにカスタムタグの利用宣言を行う必要があります。
その際、taglibタグを使用してカスタムタグの構文を定義したtldファイルを指定します。
この指定にはいくつかの方法があります。
JSPファイルからの相対パスで指定する
Webモジュールからの絶対パスで指定する
配備記述子で定義したtldファイルのパスに対応するキーを指定する
コンテナがマッピングしているtldファイルのパスに対応するキーを指定する
JSPの詳細については、“Interstage Application Server GlassFish 設計・構築・運用ガイド”を参照してください。
入力画面の作成
ユーザーの入力を受け付ける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に格納されている値を出力します。