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かあ。いろいろ出てくるな。