Seasar DI Container with AOP

概要

S2Strutsで提供しているタグライブラリについて説明します。

S2Strutsタグライブラリリファレンス

buttonタグ

org.seasar.struts.taglib.html.ButtonTag(タグ名:button)

http://struts.apache.org//struts-doc-1.2.8/userGuide/struts-html.html#button
に加えて、追加になった属性は、以下です。

属性名必須rtexprvalue説明
type
×
false
以下の値で、ボタンの種別を指定します。
"button":通常のボタン。
"submit":実行ボタン。
"reset":リセットボタン。
HTML4.01 では submit が規定値と定義されていますが、
IE6.0 や Netscape の実装では規定値は button のようです。
indexId
×
false
logic:iterateタグのid属性などで指定した変数名を指定します。
buttonのvalue属性の値に、その変数の値が設定されます。
(変数値が、Integerの32である場合の変換されたhtmlの例:<button ... value="32" ...>)

submitタグ

org.seasar.struts.taglib.html.SubmitTag(タグ名:submit)

http://struts.apache.org//struts-doc-1.2.8/userGuide/struts-html.html#submit
に加えて、追加になった属性は、以下です。

属性名必須rtexprvalue説明
action
×
-
action="#{component.method}"と記述することによって、サブミット時に実行するコンポーネントとメソッドを指定する事が可能です。 コンポーネントは、この属性で指定した名前でS2Containerに登録されている必要があります。
indexId属性を指定しない場合は、引数なしとして指定されたメソッドを呼び出します。
例えば、<s2struts:submit action="{hogeAction.create}"> と記述して表示されたボタンを押した場合、 String create() メソッドが呼び出されます
indexId属性を指定した場合は、int型のindexを引数とする指定されたメソッドを呼び出します。
例えば、<s2struts:submit action="{hogeAction.create}" indexId="index"> と記述して表示されたボタンを押した場合、 String create(int index) メソッドが呼び出されます。

S2Struts1.3.0-RC3以降では、指定したコンポーネントに対応するActionMappingが使用されます。 ActionMappingは、デフォルトではActionPathNamingRuleコンポーネントから求められるpathをキーにして決定されます。 明示的に指定する場合は呼び出すメソッドにBINDING_METHODアノテーションを指定してください。
indexId
×
false
logic:iterateタグのid属性などで指定した変数名を指定します。
propertyName[変数値]の様に変換されます。
(変数値が、Integerの32である場合の変換されたhtmlの例:<... foo[32]="bar"...>)
cancel
×
false
trueを指定した場合、フォームに関連付けされたActionFormのvalidateを無視し、 アクションを呼び出します。

cancelタグ

org.seasar.struts.taglib.html.CancelTag(タグ名:cancel)

http://struts.apache.org//struts-doc-1.2.8/userGuide/struts-html.html#cancel
を拡張し、Requestパラメーターを利用しないでCancel機能を実現したタグです。 追加した属性はありません。

imageタグ

org.seasar.struts.taglib.html.ImageTag(タグ名:image)

http://struts.apache.org//struts-doc-1.2.8/userGuide/struts-html.html#image
に加えて、追加になった属性は、以下です。

属性名必須rtexprvalue説明
action
×
-
action="#{component.method}"と記述することによって、サブミット時に実行するコンポーネントとメソッドを指定する事が可能です。 コンポーネントは、この属性で指定した名前でS2Containerに登録されている必要があります。

S2Struts1.3.0-RC3以降では、指定したコンポーネントに対応するActionMappingが使用されます。 ActionMappingは、デフォルトではActionPathNamingRuleコンポーネントから求められるpathをキーにして決定されます。 明示的に指定する場合は呼び出すメソッドにBINDING_METHODアノテーションを指定してください。
cancel
×
false
trueを指定した場合、フォームに関連付けされたActionFormのvalidateを無視し、 アクションを呼び出します。

checkboxタグ

org.seasar.struts.taglib.html.CheckboxTag(タグ名:checkbox)

http://struts.apache.org//struts-doc-1.2.8/userGuide/struts-html.html#checkbox
を拡張し、チェックがない場合でもフォームに関連付けされたActionFormのプロパティにfalseを設定します。 追加した属性はありません。

pageタグ

org.seasar.struts.taglib.html.PageTag(タグ名:page)

このタグをJSPに記述することによって、struts-configのinput属性の無設定化(エラー時に自画面を再表示)することが可能になります。 formタグの中に記述する必要があります。複数のformが存在する場合には、それぞれに記述が必要です。

属性名必須rtexprvalue説明
-
-
-
属性はありません。

linkタグ

org.seasar.struts.taglib.html.LinkTag(タグ名:link)

TODO

initタグ

org.seasar.struts.taglib.InitializeTag(タグ名:init)

このタグを使用すると画面の初期化処理を行う事が可能です。action属性に記述したMethodBindingを、JSPを表示する時に実行します。

属性名必須rtexprvalue説明
action
×
-
action="#{component.method}"と記述することによって、JSPを表示する時に実行するコンポーネントとメソッドを指定する事が可能です。 コンポーネントは、この属性で指定した名前でS2Containerに登録されている必要があります。

BINDING_METHODアノテーション

S2Struts1.3.0-RC3以降で利用できます。

BINDING_METHODアノテーションは、submitタグやimageタグで指定されたactionに対するActionMappingを明示的に指定するために使用します。

定数アノテーション

次の形式でstaticフィールドとしてActionに定義します。

public static final String メソッド名_BINDING_METHOD = "path=ActionMappingのpath"

タグとJavaの定義例は次の通りです。
<s2struts:submit action="#{modAction.mod}" property="submit" value="サブミット"/>
public static final String mod_BINDING_METHOD = "path=/hoge";

public String mod() {
  ...
}

Tigerアノテーション

次の形式でActionメソッドにアノテーションを指定します。

@BindingMethod(path = "ActionMappingのパス")

タグとJavaの定義例は次の通りです。
<s2struts:submit action="#{modAction.mod}" property="submit" value="サブミット"/>
@BindingMethod(path = "/hoge")
public String mod() {
  ...
}