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>