struts.xmlのアクションマッピングを新しいエントリで変更(または上書き)するアプリケーションがあります。 ここで詳細な説明はシナリオです。struts.xmlのアクションクラスエントリを動的に変更する方法はありますか?
私のアプリケーションでは、私は登録、change_dataのようなさまざまな段階がありますが、これはcontext Param
を使って管理しています。
のWeb.xml
<context-param>
<description>Current stage of the application</description>
<param-name>stage</param-name>
<param-value>registration</param-value>
</context-param>
私はこのアクションにユーザーを送信しているペイメントゲートウェイすなわち支払いゲートウェイの要求をリダイレクトしているアクションを持っています。
struts2.xml(デモエントリ)
<!-- for registration -->
<action name="paymentResponse" class="abc.xyz.PaymentResponse">
<result name="input" type="tiles">paymentForReg.tiles</result>
<result name="success" type="tiles">home.tiles</result>
</action>
<!-- for change data -->
<action name="paymentResponse" class="abc.xyz.PaymentResponseForChangeData">
<result name="input" type="tiles">paymentForChangeData.tiles</result>
<result name="success" type="tiles">home.tiles</result>
</action>
だから私はやっているどのようなアプリケーションの変更のステージは、変更されたときにweb.xml
のステージとはとてもstruts.xml
からアクションのから一つのエントリのコメント要約私は同じ名前の複数のアクションを持っており、context param
に基づいてアクションをトリガー(またはアクションのクラス名を変更)したいと思います。それを行う方法はありますか?
https://struts.apache.org/docs/wildcard-mappings.html –
ワイルドカードが動作しません、'アクションNAME'は同じである必要があります。一方、 'actionName'に基づいたワイルドカードの動作 – piechuckerr
Struts2のアクションクラスは隠されており、アクション名が公開されています。これが必要な場合は、多くのXYの問題が発生します。 –