Struts1 [struts タグライブラリ]

JSP で使えるstruts 標準のタグライブラリです。
更新日 2016-02-13

struts-html

主に送信フォーム用のタグが準備されています。

html:html

html タグを作成します。既知の問題として、@page ディレクティブでsession="false" にしていても このタグを使っているとセッションが作成されてしまいます。

html:form

form タグを作成します。セッション管理やアクションフォーム(リクエストパラメータ)の関連付けには必須です。

html:link

リンク(<a>) を作成します。HashMap を使って複数のパラメータをURL に付ける事ができ、日本語等は自動でエンコードも されます。さらにセッション管理がURLベースで必要な時は、jsessionid 識別子が自動で付加されます。

URL エンコーディングの文字化けについて

struts フィルタはPOST に付いてくるリクエストパラメータを処理します。URL エンコーディングはGET で送られてくるので、 別の方法で処理しなくてはいけません。Tomcat がリクエストURL をデコードする機能を持っていますので、それを有効にします。
$CATALINA_HOME/conf/server.xml を編集します。Connecter タグにURIEncoding 属性で
<Coonnecter port="8080" URIEncoding="UTF-8" >

// Ajp で接続しているなら8009番ポート のConnecter タグに追記します。

struts-bean

Java-bean にアクセスする為のタグが準備されています。

bean:write

インスタンス(Java ビーン)を文字列として出力します。name 属性にインスタンス名を、scope 属性にインスタンスの所属するスコープを 指定します。ignore 属性をtrue にすると、インスタンスが見つからない場合にも例外になりません。(logic:empty で存在チェックを 行う方が適切かも)
<bean:write name="user_number" scope="session" />

// 日付フォーマット指定
<bean:write name="lastupdate" format="yyyy/mm/dd" />

// 数値もフォーマット指定が可能
<bean:write name="price" format="###,###,###" />

bean:cookie

クッキーに保存されている情報を取得します。name 属性にキー名を指定し、取り出した値を保存する一時インスタンス(Java のCookie クラス) に付ける名前をid 属性に記述します。実際の値はそのインスタンスのプロパティvalue に入ります。
<bean:cookie name="user_number" id="cookie_user_number" />
<bean:write name="cookie_user_number" property="value" >

bean:size

コレクション系のインスタンスの持つ子要素の数を抽出できます。
<bean:size id="nSize" name="arrayPage" />
<bean:write name="nSize" >

struts-logic

Java-bean を評価したり判定したりするタグが準備されています。

logic:iterate

Map やList 型のインスタンスにシーケンシャルアクセスする際に利用します。

logic:empty logic:notEmpty

指定のインスタンスがnull かどうか調べます。

struts-nested

Java-bean のネストされたプロパティをフォーカスする為のタグが準備されています。

struts-tiles

ページのペイン分割レイアウトを実現する為の便利なタグが準備されています。