問題タブ [struts2-interceptors]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - setSession() が呼び出されていませんか?
を実装する私のアクションクラスではSessionAware
、それsetSession()
は呼び出されません。直接コールバックを受信していますexecute()
。
関連する詳細を次に示します。
Struts.xml
アクションクラス
デフォルトスタックのインターセプターは使用していません。でコールバックを受信するには、インターセプターを追加する必要がありますかsetSession()
。私の間違いを指摘してください。
java - アクションおよびインターセプターとは異なる文字列
アクション ファイル:
私のインターセプター:
result.jsp
:
MyJsp.jsp
:
struts.xml
:
私の質問は、インターセプターからアクションファイルとは異なる文字列を返しているということですが、アクション文字列を使用してアクションのビューが生成され、インターセプターではなく、なぜ結果をマップするのでしょうか?
java - Struts 2 トークン パラメータの名前を変更する方法
Struts2 トークン パラメータの名前を変更するには?
デフォルトでフォーム送信時にタグを使用する<s:token/>
と、Struts2 は次のような URL を生成します
この<s:token name="suid"/>
タグを使用すると、「struts.token」パラメーターの名前を変更できます。Struts2 は次のような URL を生成します
「struts.token.name」パラメータの名前を変更するにはどうすればよいですか?
java - Struts2 の入力タイミングJSP ページのタグ
1 つのアクション クラスと 1 つのインターセプターを持つ単純な struts2 Web アプリケーションがあります。getTitle()
アクション クラスには、セッションから文字列を取得するgetter メソッドがあります。インターセプターはデフォルト スタックの一番下にあるため、呼び出しの最後と最初に実行されます。これは、アクション呼び出しの BEFORE および AFTER 呼び出しのセッションにあるタイトルを変更できるように構築されています。結果の JSP ページには、このタイトルが表示されます。
次のロジックが適用されると思いました。
- 呼び出し実行前のインターセプター ロジック
- アクション クラス ロジックの実行
- 呼び出し実行後のインターセプター ロジック
- struts は結果を認識し、結果の
.jsp
ページを取得します- struts は、アクション クラスの
<:s>
タグ.jsp
と呼び出しを埋めます。getTitle()
しかし、これはうまくいきませんでした。結果の JSP には、ステップ 3 が実行される前のタイトルが常に表示されていました。Javaコードに簡単なログを追加したところ、私の疑いが確認されました。実行順序は次のとおりです。
- ログ: 呼び出しが実行される前のインターセプター ロジック
- ログ: アクション クラス ロジックの実行
- log:
getTitle()
アクション クラスからのメソッドが実行されます- ログ: 呼び出し実行後のインターセプター ロジック
どういうわけか、ステップ 6 がステップ 3 になりました。これはなぜですか。また、タイトルを変更するアクション呼び出しの後にインターセプターにロジックを追加するにはどうすればよいですか?
java - 2 つのアクション メソッドに同じ検証メソッドを使用する方法
Struts2 には、このメソッドのアクション メソッドと検証メソッドがあります。この検証メソッドを別のアクション メソッドに使用したいと考えています。どうすればいいのかわかりません。助けてください。シナリオは次のとおりです。