タイトル: struts-bean.tld
Strutsのライブラリである「struts-taglib-1.X.X.jar」に同梱される「struts-bean.tld」に関する記事です。JSPからActionForm(Bean)のプロパティを表示・取得するためのタグライブラリ定義ファイルです。
主なタグ一覧
| タグ | 説明 |
|---|---|
| write |
name:アクションフォーム名 property:アクションフォームのプロパティ名 Beanのプロパティ値をHTMLエスケープして出力する |
| define | Beanのプロパティを変数として宣言・利用する |
| message | リソースバンドル(プロパティファイル)からメッセージを取得して表示 |
| size | コレクションのサイズを取得 |
| parameter | HTTPリクエストパラメータを取得 |
| header | HTTPリクエストヘッダを取得 |
| cookie | Cookie値を取得 |
| page | pageContext上のオブジェクトを取得 |
| include | 外部リソースを取得してBeanに格納 |
| resource | WebアプリのリソースをBeanに格納 |
| struts | Strutsの内部設定情報を取得 |
taglib宣言
|
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> |
使用例:プロパティ表示
|
<!-- ユーザー名を表示(HTMLエスケープあり) --> |
メッセージ取得の例
|
<!-- ApplicationResources.properties の label.user.name を表示 --> |
サイズ・パラメータの例
|
<!-- リスト件数 --> |
JSTL / EL式での代替
近代的な書き方では JSTL や EL式 が一般的です。
| struts-bean | JSTL / EL |
|---|---|
<bean:write name="u" property="name"/> | ${u.name} または <c:out value="${u.name}"/> |
<bean:message key="k"/> | <fmt:message key="k"/> |
<bean:size name="list"/> | ${fn:length(list)} |
注意点
- Struts 1 は2013年EOL。新規開発では JSTL+EL または Thymeleaf を推奨
filter="false"はHTMLエスケープを無効化するため、XSSリスク。基本は使わない- nested propertyの記法:
property="address.zipCode"
関連
- 親カテゴリ: カスタムタグ(taglib)
- Struts本体: Struts
- JSPタグ: JSPタグ