[struts2] codebehind プラグイン

codebehind プラグインを使ってるなら、@Result アノテーションも不要だった。

struts.xml に以下の設定を追加しておけば、

    <constant name="struts.codebehind.pathPrefix" value="/WEB-INF/JSP/" />

@Result アノテーションが無くても /WEB-INF/JSP/test/hoge-success.ftl もしくは /WEB-INF/JSP/test/hoge.ftl が利用される。

検索されるパスは以下の通り。

  • /PREFIX/NAMESPACE/ACTION-RESULT_CODE.(jsp|vm|ftl)
  • /PREFIX/NAMESPACE/ACTION.(jsp|vm|ftl)

この例では、以下の順番に検索される。

  1. /WEB-INF/JSP/test/hoge-success.jsp
  2. /WEB-INF/JSP/test/hoge.jsp
  3. /WEB-INF/JSP/test/hoge-success.vm
  4. /WEB-INF/JSP/test/hoge.vm
  5. /WEB-INF/JSP/test/hoge-success.ftl
  6. /WEB-INF/JSP/test/hoge.ftl