最近の変更点(チュートリアル主)

眠い目をこすりつつ、自分の記憶のための追っかけメモです。
全体に色々勉強になるのですが、S2MultipartRequestHandlerでエラーをattribute渡ししているところだけが、なんとなく「らしくない」感じがしなくもないです。
単に妄想レベルですが、アクションにアノテーションをつけておいて、サイズエラーの場合はその情報をもとにhtml:errorsタグに値を表示するとか

  @OnUploadSizeExceeded(msg = @Msg(key="errors.size"))
  public class UploadAction { 

フィールドかメソッドにアノテーションをつけたいところだけど、多分、実行メソッドを決定するにはリクエストパラメータをみる必要がある一方、multipartの場合は、先にmultipart解析を行ってからじゃないとパラメータが取り出せないので無理が出るのだと思います。

以下メモ。

UploadAction#index()

multipartでアップロードのサイズ超過時に、requestのattributeに例外が格納されるようになった。
?いや違うな、index()メソッドは初期表示時に呼ばれるんだもんな。
ああサイズ超過時には@Executeアノテーションのついた実行メソッドまでいく手前でinputに戻されるのかな。

ValidatorAction#phoneText

//フィールドって #フィールド名 で表現してよかったっけな・・?
@Maskアノテーションでエラーメッセージにパラメタが使えるようになっているっぽいです。
あれ、今更気づいたけどS2Strutsと同じパッケージ名、内容も同一?

struts-config.xml

controller要素のmultipartClass属性にS2MultipartRequestHandlerが登録されています。
StrutsでServletFilterで似たことをやったことがあるので、大体想像はつきます。
多分ファイルアップロード関連の前処理。

pom.xml

これはチュートリアルじゃなくてSAStruts自体の方。
Commons FileUpload1.2.1がdependenciesに追加されている。

追記:最新のドキュメントとJIRAのログで、ほぼ上記のとおりの内容だと確認できました。