1

私は新しいコントローラーコマンドで作業していました。struts-config-ext.xml で構成されているビューにリダイレクトするために、コントローラー コマンドでビューの転送とリダイレクトの両方を使用する方法を知りたいのですが。

4

1 に答える 1

1

次のようなことを試すことができます。

リダイレクト:

public void performExecute() throws ECException {
        //do something here...
        //....................
        TypedProperty rspProp = new TypedProperty();
        rspProp.put(ECConstants.EC_URL, "YourViewName");
        rspProp.put(ECConstants.EC_VIEWTASKNAME, ECConstants.EC_GENERIC_REDIRECTVIEW);
        //....................
        //....................
    }

前方:

public void performExecute() throws ECException {
        //do something here...
        //....................
        TypedProperty rspProp = new TypedProperty();
        rspProp.put(ECConstants.EC_VIEWTASKNAME, "YourViewName");       
        //....................
        //....................
    }

コマンドから strut-config-ext.xml で設定されたビューに制御を渡すために、コントローラ コマンドでフォワードとリダイレクトの両方を使用できます。forward を使用すると、コマンドとビューの両方が 1 つのトランザクションで実行され、ビューで例外が発生した場合、コマンドで保存されたすべてのデータがロールバックされます。ただし、コマンドでリダイレクト ビューを使用すると、フォワードとは異なり、コマンドとビューは 2 つのトランザクションで実行されます。コマンドが完了すると、トランザクションがコミットされ、新しいトランザクションが開始されて表示されます。この場合、ビューの例外によって、コマンドでコミットされたデータがロールバックされない場合があります。

于 2013-03-19T13:12:55.160 に答える