2012-03-30 31 views
0

アクションAからアクションBのいくつかのパラメータをアクションAに渡す必要があります。アクションBのURLにはアクションAのパラメータが表示されます。したがって、フローはStruts 2はアクションからアクションへの動的URLを渡します

アクションBで

アクションA

param1 = param1Val; 
param2 = param2Val; 
param3 = true; 
param4 = 0; 

、urlは私がthis

のようなものを試してみました

ActionB?param1=param1Val&param2=param2Val&param3=true&param4=0; 

です

しかし、動作しませんでした。

私はそれを動作させるために何ができますか?

答えて

0

ご質問はあまり明確ではありませんが、最初のアクションのパラメータをredirectActionを使用して2番目のアクションに渡したい場合は、最初のアクション(アクションA)でこれらのパラメータをすべて作成する必要がありますアクション(アクションB)あなたがここで重要な概念は、構成内の動的パラメータを渡す${param1}の使用であり、これはという名前のパラメータするにはなります

<action name="a" class="ClassA"> 
     <!-- Redirect to another namespace --> 
     <result type="redirectAction"> 
      <param name="actionName">B</param> 
      <param name="param1">${param1}</param> 
      <param name="param2">${param2}</param> 
      // any other parameters 
     </result> 
    </action> 

アクションBにあなたがそれらのパラメータを渡したいS2を伝える必要がありますparam1が値スタック内にあり、実行時にその値に置き換えられます。

アクションAでアクションBに渡すパラメータがあることを確認してください。その際、S2は実行時にゲッターとセッターを選択できるようにします。

ない、あなたの設定で静的パラメータを渡したい場合は、

<action name="a" class="ClassA"> 
      <!-- Redirect to another namespace --> 
      <result type="redirectAction"> 
       <param name="actionName">B</param> 
       <param name="param1">param1</param> 
       <param name="param2">param2</param> 
       // any other parameters 
      </result> 
     </action> 

などのすべてを行う必要はありませんここでのパラメータは、私が試したparam1ない${param1}

+0

おかげUmesh、 として渡されていますそれは本当にうまくいきませんでした... ここに複雑な部分があります... 私がここでやろうとしていることは実際には、アクションBの結果は実際にはclickeであるリンクですアクションAからのdしたがって、アクションAでは、次のようなhref URLがあります。 ActionB?param1 = param1Val&param2 = param2Val&param3 = true&param4 = 0; しかし、これらすべてのパラメータ: **のparam1 = param1Val&PARAM2 = param2Val&param3 =真&param4 = 0; ** 私は、私はアクションAでのsetメソッドを使用している場合B. アクションに渡す前に、アクションAからだろう設定されていますアクションBでそれらを得ることができますか? –

+0

いいえ、これらの値は 'redirectAction'を使用している場合、あなたのアクションBでは利用できません。セッションでそれらを保存し、アクションBでそれらを取得するか、クエリ文字列としてアクションBに渡して、アクションBの文字列 –

関連する問題