たとえば、イベントの追跡を維持するために、アクションから別のアクションにパラメーターを渡す必要があります。
それを行う最善の方法は何ですか?
セッション パラメータは使用しません。ありがとう
たとえば、イベントの追跡を維持するために、アクションから別のアクションにパラメーターを渡す必要があります。
それを行う最善の方法は何ですか?
セッション パラメータは使用しません。ありがとう
あるアクション内でサーバー側にいて、いくつかのパラメーターを使用して別のアクションを呼び出したいとします。
s:action タグを使用して別のアクションを呼び出すことができます。元のアクション以外の追加/他のパラメーターを使用することもできます。
<s:action name="myAction" ignoreContextParams="true" executeResult="true">
<s:param name="foo" value="bar"/>
</s:action>
標準の struts-xml 結果タイプをパラメータとともに使用することもできます。
<result name="success" type="redirect" >
<param name="location">foo.jsp?foo=${bar}</param>
<param name="parse">true</param>
<param name="encode">true</param>
</result>
クライアント側のリダイレクトが必要な場合は、適切なパラメーターを使用してクライアントに URL を送信する必要があります。また、JavaScript を使用してそこに移動することもできます。
<s:url action="myAction" >
<s:param name="foo" value="bar"/>
</s:url>
<td>
<s:url id="url" action="Logging">
<s:param name="m_userNameInAction"><s:property value="m_userNameInForm"/></s:param>
</s:url>
<s:a href="%{url}">English</s:a>
</td>
実際には、あるアクションから別のアクションに 1 つのアクション パラメータ値を渡します。
同じ名前の Bean 変数を含めるだけです。アクション(レシーバーアクション)で受け取るパラメーター。
<action name="ForwardAction" class="...">
<result name="success" type="chain">ReceiverAction</result>
</action>
ForwardAction パラメーターは、ReceiverAction に転送されます。あなたはそれを使用することができます。ただし、両方のアクションに同じ Bean 名を含めます。
receiveaction 手段でユーザー ID を受け取る場合は、
これは両方のアクションにある必要があります。
private int userid;
public void setUserid(int id){
this.userid = userid;
}
public int getUserid(){
return userid;
}
struts コア タグで url タグを使用します。サンプルを以下に示します。
<s:url var="idurl" action="EditEnterprise">
<s:param name="enterpriseId">
<s:property value="enterpriseId" />
</s:param>
</s:url>