Index

Link

Project Documentation

Built by Maven

使い方

設定 以下の内容をdiconファイルに追加します。

<component \
    class="com.opensymphony.xwork.config.providers.XmlConfigurationProvider">
<initMethod>@com.opensymphony.xwork.config.ConfigurationManager@addConfigurationProvider(#self)</initMethod>
</component>
<component \
    class="org.seasar.xwork.annotation.AnnotationConfigurationProvider">
<initMethod>@com.opensymphony.xwork.config.ConfigurationManager@addConfigurationProvider(#self)</initMethod>
</component>

バージョン0.5からは上記の内容がs2xwork-tiger.diconに書かれているため、以下のような記述でも大丈夫です。

<?xml version="1.0"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN" "http://www.seasar.org/dtd/components23.dtd">
<components>
  <include path="s2xwork-tiger.dicon" />
</components>

AnnotationConfigurationProviderには以下のプロパティがあります。

現状はクラスパス以下のクラスファイルが検索対象です。Jarファイル内のクラスには対応していません。

プロパティ名内容デフォルト値
packageName
classPackage
classPattern
resource
アクションを追加するxwork.xml内のパッケージ名(package要素のname属性で設定)
アノテーションを探す対象のパッケージ。このパッケージ以下のパッケージを探索します。
アノテーションを探す対象のクラス名パターン(正規表現)
クラスを探索するディレクトリのルートにあるファイル名
default
空文字
.*Action
xwork.xml

アノテーションの使い方

アノテーションをアクションクラス名のクラス定義の上に書きます。

@XWorkAction(name="test")
public class TestAction extends ActionSupport{
}
  • 例:通常のAction定義(nameは必須) * @XWorkAction(name="test") * 例:複数のAction定義 * @XWorkActions(actions = @XWorkAction(name="test1"),@XWorkAction(name="test2")) * 例:メソッド指定 * @XWorkAction(name="test", method="add") * 例:Resultありの場合(@Resultのnameを省略した場合はsuccess) * @XWorkAction(name="test",result=@Result(type="velocity",param=@Param(name="location",value="index.vm")))