2016-07-14 8 views
3

私は数時間Webを検索していましたが、Struts 2の簡単な質問に対する答えは見つかりませんでした。基本的に、私はStruts 1で単純なフォワードである以下のアクションを持っています。 2:Struts 2でSimple Redirectを実行するにはどうすればよいですか?

<action path="/az/api/v22/my-tenants" forward="/components/c/apis/v22/my-tenants.jsp"> 
     </action> 

私はこれを行うには、アクションクラスを書くことができますが、私はStruts2のは、それが簡単なリダイレクトされているので、アクションクラスを記述することなく、これを行うためのいくつかの方法を持たなければならないと思います。

+0

これで何を達成したいですか? –

答えて

2

struts.xml

struts.xmlにactionless結果を作成します。

<package name="v22" namespace="/az/api/v22" extends="struts-default"> 
    <action name="my-tenants"> 
     <result>/components/c/apis/v22/my-tenants.jsp</result> 
    </action> 
</package> 

この構成では、名前空間/az/api/v22とアクション名my-tenantsでパッケージを定義します。したがって、パス/az/api/v22/my-tenantsを使用すると、デフォルトのアクションマッパーが名前空間とアクション名を一緒に使用してアクション設定を取得するため、上記のアクション設定にマップされます。

アクションタグにはclassという属性はなく、代わりにActionSupportというクラスが使用されています。このクラスはデフォルトでstruts-defaultパッケージに設定されています。

Struts2のデフォルト値は、JSPに転送するディスパッチャを使用しており、それはActionSupportクラスによってデフォルトで返された結果の設定では、デフォルトで"success"結果コードを使用しているため、結果では、JSPの位置を定義するのに十分です。

+0

これは、パッケージの名前空間属性を使用せずに行うことができます。問題は、Struts2のパッケージがすでに作成されており、これらの呼び出しがその一部になることです。だから、私はパッケージの名前空間を制御することはできません。 –

+0

名前空間属性がないと、アクション名の前に追加する必要がある部分がありません。 –

関連する問題