Struts2 やっと分かった。

Struts2のよくわからんエラーがなんで起きるのか分かりました。
つーかこんな基本的な事をしてない方が珍しいので、
こんな状態になった人は少ないでしょうね。

まず、これはどっかのサイトに出てたかもしれない。(誤情報として)
Struts2を動かすために必要なフィルタは1つじゃない。
org.apache.struts2.dispatcher.FilterDispatcher
さえあれば動くと思ってたんだけど、
それに先駆けて
org.apache.struts2.dispatcher.ActionContextCleanUpフィルタを動かさないとStruts2は完全に動作しているとは言えない。
こいつがないと、
s:formタグにenctype="multipart/form-data"を追加したときに
ActionクラスにさっぱりInjectionしてくれなくなる。
他にもありそうだが、
こいつの設定は必須だ。
Struts2を使うときは、かならずこの2種類のフィルタを定義すること。
これだけでは、tilesと組み合わせたときに日本語の文字化けは直らないので、そこは前に紹介したSetCharacterEncodingFilterを使うこと。

並びとしては、
SetCharacterEncodingFilter
ActionContextCleanUp
FilterDispatcher
の順で動かせばヨロシイ。

これでほぼよくわからん原因は解決。

ただ、s:datetimepickerのvaluejava.util.Date型の変数を突っ込むと、どうも西暦の頭2桁を切ってしまうようで、表示がうまくいかない。
なんとかなる方法を教えていただきたい。

追記:
どうやら、FilterDispacherのみでも
s:file+s:datetimepickerを2つ同時に使用する場合いがいはうまくいくようだ。