0

私には2つのアクションがあります。最初にフォームを表示し、別のフォームを処理します。アクションが検証されない場合processAddは、redirectAction をAddアクションに戻します。Storeインターセプターは「追加」アクションで適切なエラーを表示しますが、フォームに入力された値はリダイレクト アクション中に失われます。

loose Value Stackはリダイレクトについて、理解しています。

これに対する解決策はありますか?

結果パラメーターを使用したくない、作業が多すぎる。

 <action name="add" class="com.myapp.actions.StudentAction" method="input">
            <interceptor-ref name="store">
                <param name="operationMode">RETRIEVE</param>
            </interceptor-ref>
            <result name="input" type="tiles">/student.edit.tiles</result>
        </action>

        <action name="processAdd" class="com.myapp.actions.StudentAction">
            <interceptor-ref name="store">
                <param name="operationMode">STORE</param>
            </interceptor-ref>
            <interceptor-ref name="defaultStack" />
            <result name="success" type="redirectAction">list</result>
            <result name="input" type="redirectAction">add</result>
            <result name="failure" type="redirectAction">add</result>
        </action>
4

2 に答える 2

1

探しているのはScope Interceptorで、 Store Interceptor ではありません。

于 2012-10-08T06:19:21.650 に答える
1

MessageStoreInterceptor

ValidationAware アクションのメッセージ/エラーおよびフィールド エラーを HTTP セッションに格納するためのインターセプター。これにより、後の段階で取得できるようになります。これにより、アクションのメッセージ/エラーおよびフィールド エラーが、特定の HTTP リクエストよりも長く利用できるようになります。

メッセージ ストア インターセプターを使用して値スタック データを取得することはできません。これは、アクション メッセージ/エラーおよびフィールド エラーに関係します。

または、チェーン インターセプターを使用するか、値をセッションに保存することもできます。メッセージ ストア インターセプターは、セッション オブジェクトを使用してメッセージ/エラーを保存します。

于 2012-10-08T01:39:58.150 に答える