1.

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エスケープあり) -->
<bean:write name="userForm" property="name"/>

<!-- フォーマット指定 -->
<bean:write name="order" property="price" format="###,###"/>

<!-- HTMLエスケープしない(要注意) -->
<bean:write name="item" property="descriptionHtml" filter="false"/>

メッセージ取得の例

<!-- ApplicationResources.properties の label.user.name を表示 -->
<bean:message key="label.user.name"/>

<!-- パラメータ付き -->
<bean:message key="greeting" arg0="<%= user.getName() %>"/>

サイズ・パラメータの例

<!-- リスト件数 -->
件数: <bean:size id="cnt" name="userList"/>
<%= cnt %>

<!-- リクエストパラメータ -->
<bean:parameter id="keyword" name="q"/>
検索ワード: <%= keyword %>

JSTL / EL式での代替

近代的な書き方では JSTL や EL式 が一般的です。

struts-beanJSTL / 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"

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ

同階層のページはありません