[Struts2] ZeroConfiguration

Struts2 は日本語ではあまりまとまったドキュメントはないみたい。まあ本家サイトがそれなりにしっかりしているからいいか。

Struts2 は Struts1.x とはまったく別物とはいえ、基本的なアーキテクチャは大きく違うわけではないのでそれほど取っつきにくくはなさそう。以下の方針を決めて簡単にアクションを書いてみる。

  • POJO アクション
  • ZeroConfiguration
  • テンプレートエンジンは Freemarker

ZeroConfiguration にするには codebehind プラグインをいれればよいみたいなので、mavendependency に突っ込む。で、web.xml のフィルタ設定で初期化パラメータ actionPackages も追加してやる必要がある。

  <filter-name>struts2</filter-name>
    <filter-class> org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    <init-param>
      <param-name>actionPackages</param-name>
      <param-value>com.sample.action</param-value>
    </init-param>
  </filter>


あとは Action クラスのアノテーションをいくつか記述する。

@Namespace("/test")
@Result(name="success", value="/WEB-INF/JSP/test/success.ftl", type=FreemarkerResult.class)
public class HogeAction {

これで http://(コンテキストルート)/test/hoge.action でアクセスできる。