ActionMappingのデフォルト値

S2Struts1.3.0-beta-3から、struts-config.xmlで定義したActionMappingクラスを利用して、無設定StrutsのActionMapping情報を作るようになりました。


DispatchActionとかをメインで利用するために常にparameter属性を指定したい場合があると思います。
その場合は、以下のようなActionMappingクラスを作成し、

public class MyActionMapping extends ActionMapping {
    public RequestActionMapping() {
        super();
        setParameter("method");
    }
}

struts-config.xmlのaction-mappingsタグで作ったActionMappingクラスを指定すれば、parameter属性のデフォルト値は"method"となり、parameter属性をアノテーションで毎回指定する必要がなくなります。

<struts-config>
      :
    <action-mappings type="aaa.bbb.MyActionMapping">
    </action-mappings>
      :
</struts-config>

あと、この変更のため1.2.xから移行するときに問題点があります。
今まではactionタグのscope属性はデフォルトが"request"でしたが、"session"に変更になってます。
1.2.xのようにscope属性のデフォルトを"request"とする場合は、struts-config.xmlのaction-mappingsタグでRequestActionMappingクラスを指定して下さい。

<struts-config>
      :
    <action-mappings type="org.apache.struts.action.RequestActionMapping">
    </action-mappings>
      :
</struts-config>