Struts2 @Actionアノテーションを使用したアクションクラス定義

Struts2 @Actionアノテーションを使用したアクションクラス定義

Actionクラスはcom.opensymphony.xwork2.ActionSupportクラスを継承します。

任意のメソッド名に@Actionアノテーションを付与します。

@Action(value = "act", results = {
@Result(name = "success", location = "success.jsp"),
@Result(name = "error", location = "error.jsp") })
public String hoge() thorows Exception {
  // ~
  return "success"; // success.jspに遷移する
}

@Resultアノテーションのlocationで指定したjspの配置場所は以下の通りです。(@Namespaceアノテーションが未指定の場合)

WEB-INF\content\success.jsp

 

HogeAction.java

public class HogeAction extends ActionSupport {

  @Action(value = "act", results = {
  @Result(name = "success", location = "success.jsp"),
  @Result(name = "error", location = "error.jsp") })
  public String hoge() thorows Exception {
    try {
      // ~
    } catch(Exception e) {
      return "error"; // error.jspに遷移する
    }
    return "success"; // success.jspに遷移する
  }
}

コメント

タイトルとURLをコピーしました