Struts2.0.9でActionの処理結果によって遷移先を変える

感想おまちしてます!

Action内部でビジネスロジックを呼び出したりするときに、処理結果によって遷移先を変えることがある。その実装方法をメモ。

スポンサーリンク

struts.xmlで遷移先を複数指定する

処理に成功したら「complete.jsp」へ遷移、失敗したら「userreg.jsp」へ遷移する。

<action name="userreg"
class="com.daipresents.struts209.action.UserRegAction">
<result name="success">/WEB-INF/jsp/complete.jsp</result>
<result name="error">/WEB-INF/jsp/userreg.jsp</result>
</action>

Action内部で遷移先を動的に変更

ユーザ名が未入力の場合にerrorを返し、それ以外ではsuccessを返すようにする。これで、処理結果によってstruts.xmlで定義した遷移先に移動することができる。

//入力チェック
if(userVO.getUserName() == null || "".equals(userVO.getUserName())){
this.errorMsg = "ユーザ名が入力されていません。";
return "error";
}

//ユーザ登録処理

return "success";