SAStrutsのアクションのpublicフィールドの件のめも
〜略〜
リクエストパラメータでアクションのDI用のフィールドを上書きできてしまう罠という話。最初から考慮されていなかったのがちょっと不思議な感じ。
〜略〜
ともあれSAStrutsを使う場合の回避策としては以下のいずれかということになるんでしょうか。
- リクエストパラメータを受けるときはアクションのpublicフィールドは使わずにアクションフォームを使用する(要は必ずアクションフォームを作る)。
- アクションにpublicフィールドを作ってもいいけど、DI用のフィールドはpublicにせず@Resourceアノテーションをつける
〜略〜
SAStrutsのアクションのpublicフィールド
ふーむ、なるへそ。
これに対応するためSAStruts 1.0.3-rc1から以下のような感じになるようです。
@ActionForm @Resource protected EmployeeDto employeeDto; @Resource protected JdbcManager jdbcManager;
@Resourceかあ。いろいろ出てくるな。