「Struts2 ベストプラクティス」の版間の差分

提供: tknotebook
移動: 案内検索
 
5行: 5行:
  
 
;Conventionプラグインを入れてアノテーションを使う。
 
;Conventionプラグインを入れてアノテーションを使う。
:struts.xml より Conventionプラグインを入れてアノテーションで設定を書く方が楽です。
+
:struts.xml で設定を行うより、Conventionプラグインを入れてアノテーションで設定を書く方が楽です。
  
 
;Conventionプラグインを入れて既定の jspファイル名を使う
 
;Conventionプラグインを入れて既定の jspファイル名を使う
15行: 15行:
 
;画面の種類毎に java のパッケージを分ける
 
;画面の種類毎に java のパッケージを分ける
 
:struts2 では package-info.java に Parentpackage アノテーションで付けることで、Javaのあるパッケージ、およびそのサブパッケージ全体に struts.xml 内で定義した package を継承することができます。画面の種類ごとに画面がstruts.xml 内で定義した 異なるpackage を継承する場合、アクションクラスの所属する java package を分けると便利です。
 
:struts2 では package-info.java に Parentpackage アノテーションで付けることで、Javaのあるパッケージ、およびそのサブパッケージ全体に struts.xml 内で定義した package を継承することができます。画面の種類ごとに画面がstruts.xml 内で定義した 異なるpackage を継承する場合、アクションクラスの所属する java package を分けると便利です。
 +
 +
;バリデーションなしのメソッドはアノテーションで
 +
:バリデーションの設定のある画面でバリデーションを行わずに画面を表示する場合、アクションは input や browse 等を使うことになっていますが、私は初期表示は showアクションに決めています。バリデーションの抑止は @SkipValidation アノテーションを使います。
 +
 +
;同じ内容で複数のJSPは s:includeタグを使う
 +
:結果を表示する JSP は、表示する内容は全く同じでも、Conventionプラグインによる命名では異なるファイル名になってしまうことがあります。この時は s:includeタグ で中身を同じにしてしまうことを推奨します。

2017年1月17日 (火) 07:31時点における版

メインページ>コンピュータの部屋#Java>Struts2 Tips

私なりにまとめたベストプラクティスです。

Conventionプラグインを入れてアノテーションを使う。
struts.xml で設定を行うより、Conventionプラグインを入れてアノテーションで設定を書く方が楽です。
Conventionプラグインを入れて既定の jspファイル名を使う
Conventionプラグインを入れると、アクション処理後の ビューのファイル名は jsp の場合 /WEB-INF/content/<ネームスペース>/<アクション名>-<戻り値>.jsp になります。JSPを呼び出すだけの場合は Resultアノテーションを使わず、このConventionを利用することをお勧めします。
1アクションクラス=1画面=1個以上のアクション
struts2は1アクションクラス=1アクションが基本ですがクラスが増えすぎます。アノテーションを使って1アクションクラス=1画面=1個以上のアクション という対応にすることをお勧めします。
画面毎にネームスペースを分ける
画面=アクションクラス毎にネームスペースを別にすると、各画面で同じアクション名が使えて便利です。
画面の種類毎に java のパッケージを分ける
struts2 では package-info.java に Parentpackage アノテーションで付けることで、Javaのあるパッケージ、およびそのサブパッケージ全体に struts.xml 内で定義した package を継承することができます。画面の種類ごとに画面がstruts.xml 内で定義した 異なるpackage を継承する場合、アクションクラスの所属する java package を分けると便利です。
バリデーションなしのメソッドはアノテーションで
バリデーションの設定のある画面でバリデーションを行わずに画面を表示する場合、アクションは input や browse 等を使うことになっていますが、私は初期表示は showアクションに決めています。バリデーションの抑止は @SkipValidation アノテーションを使います。
同じ内容で複数のJSPは s
includeタグを使う
結果を表示する JSP は、表示する内容は全く同じでも、Conventionプラグインによる命名では異なるファイル名になってしまうことがあります。この時は s:includeタグ で中身を同じにしてしまうことを推奨します。