ModelDrivenという考え方自体は難しくてよく分からないが
http://www.atmarkit.co.jp/aig/04biz/mda.html
よくわからんけど、モデルになるものを作って、そこからソースコードを生成するよ!ってお話なのかな?んでプラットフォーム依存をしない、と。
よくわからないけど、とりあえずStruts2のModelDrivenは理解した。(多分)
丁度今日書いた記事に応用できそう。
無駄にActionクラスにsetter/getterを書かなくていいですよって話らしい。
setterを書いて値の自働格納をするのはフィールドドリブンっていうらしいよ!
やること
- アクション側
- com.opensymphony.xwork2.ModelDrivenをインポート
- ModelDrivenをimplements
- モデルとなるクラスをインポート
- モデルを保持
- getModel()というメソッドでモデルをreturn
- モデル側
- 取得したい変数を宣言
- setter/getterを宣言
これでコードすっきり!素敵だね!
Action側を別な人が作ってたりするので、ModelDrivenだけセットしてもらえば特にActionクラスをいじることなくモデルに値が格納される。ウマー
参考
http://www.mlexp.com/wiki/?Struts2%20%A5%E1%A5%E2#s3fe2005