strutsアプリケーションに問題があり、userUpdateActionとしてフォームアクションで詳細を更新するように求められ、フォームBeanはUserUpdateFormです。ユーザーがすでにログインしているかどうかを確認するサーブレットフィルターがあります。彼がログインしなかった場合、私はログインアクションに転送します。彼がログインした場合、私は彼に更新フォームを表示します。検証が成功すると、空白のページに転送されます。
struts-config.xml
<action path="/userUpdateAction" type="com.vaannila.action.userUpdateAction" name="UserUpdateForm" input="/update.jsp" validate="true" scope="request">
<forward name="success" path="/updateSuccess.jsp" />
<forward name="error" path="/update.jsp" />
</action>
アクションクラス
public class userUpdateAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res) throws Exception {
UserUpdateForm userform = (UserUpdateForm) form;
System.out.println("form values:" + userform.getEmail());
return mapping.findForward("success");
}
}
転送名は適切です(成功はclassとstruts-config.xmlの両方で正しいです)。
executeメソッドもアクションexecuteメソッドを正しくオーバーライドしています。
Tomcatコンソールでは、次のように表示されます。
user already logged in start chain execution
2 Feb, 2012 9:12:10 AM org.apache.struts.chain.commands.servlet.CreateAction createAction
INFO: Initialize action of type: com.vaannila.action.userUpdateAction
errors : {}
userUpdateActionは初期化されますが、execute
メソッドを実行せず、空白のページに移動します。