0

検証は正常に機能しています。追加アクションで、ユーザーが入力する新しいフォームをロードします。送信されると、processAdd()で検証が行われます。すべてが順調。

問題:

ユーザーは、でフォームに入力します。http://localhost:8000/Struts2_Spring_Crud/student/add送信された場合は、を介して処理および検証されhttp://localhost:8000/Struts2_Spring_Crud/student/processAddます。検証に失敗した場合、私のURLは/processAddです。検証が失敗したときに/addに行きたいです。これを行う方法はありますか?

<s:form action="processAdd" method="POST">
    <s:submit method="execute" value="#title"/>
 </s:form>

  public String execute() throws Exception {
        System.out.println("execute() executed");
        //Process form data
        return SUCCESS;
    }

    public String input() throws Exception {
        System.out.println("input() executed");
        //Prepare form data
        return INPUT;
    }

     <default-action-ref name="list"/>
        <action name="list" class="com.myapp.actions.StudentAction" method="getAllStudents">
            <result name="success" type="tiles">/student.list.tiles</result>
        </action>

        <action name="add" class="com.myapp.actions.StudentAction" method="input">
            <result name="input" type="tiles">/student.edit.tiles</result>
            <result name="failure" type="tiles">/student.edit.tiles</result>
        </action>

        <action name="processAdd" class="com.myapp.actions.StudentAction">
            <result name="success" type="redirectAction">list</result>
            <result name="input" type="tiles">/student.edit.tiles</result>
            <result name="failure" type="redirectAction">add</result>
        </action>
4

1 に答える 1

1

これを試して:

<action name="processAdd" class="com.myapp.actions.StudentAction">
  <result name="success" type="redirectAction">list</result>
  <result name="input" type="redirectAction">add</result>
  <result name="failure" type="redirectAction">add</result>
</action>
于 2012-10-07T20:49:51.737 に答える