問題タブ [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.
struts2 - execAndWait Interceptor が待機後に成功ページにリダイレクトしない
ユーザー入力の検証が行われるログイン画面があり、ユーザーは認証され、最終的にウェルカム画面にリダイレクトされます。
以下は、 のインターセプター定義ですLoginAction。
以下はの実行方法ですLoginAction:
このコードにはいくつかの問題があります。
1) 認証されたユーザーの場合、wait.jspページは表示されますが、リダイレクトWelcome.jspは行われません。
2) 認証されていないユーザーの場合、次の例外が発生します。
java - Struts 2 の複数の JSP とアクションの間で値を保持する
私のStrutsプロジェクトの構造は次のとおりです。
page1-> action1-> page2-> action2->page3
私が必要とするのは、入力タグに入力した値page1を でアクセスすることaction2です。
これが私のコードです:
ページ1:
アクション1:
ページ2:
アクション2:
すべてを表示します
ページ3:
これは私が問題に直面している場所であり、そこtxtidから値が からにnull渡されていないと推測しましたpage2action2
私が思いついた解決策は、使用することです
as inpage2の値を使用できるようにする私の形式では、これは実際の解決策というよりもハックのように見えるため、他の提案は大歓迎です。txtidtxtid2action2
java - Struts 2 FileUploadInterceptor の起動が遅すぎて、ファイル サイズとファイル拡張子を確認できない
Struts2 で適切に使用する方法がFileUploadInterceptorわかりません。私はすべてを配線しており、動作しています。ファイル拡張子と最大ファイル サイズを指定でき、実際に機能します。問題は次のとおりです。
- 最大ファイル サイズを 100 MB に指定します
- ユーザーが 110MB のファイルを
JakartaMultiPartRequestアップロードすると、クラスがヘルプ共通file-uploadライブラリを使用してファイルのアップロードを処理することがわかります。これは、ファイル アップロード インターセプターの前に発生します。 - ユーザーが数分間待ってファイルのアップロードが完了すると、ファイル アップロード インターセプターが起動し、ファイルが大きすぎることをユーザーに通知します。
イベントの順序に問題があります。content-length ヘッダーを見て、(アップロードする前に) ファイルが大きすぎることをすぐにユーザーに伝えたいと思います。ヘッダーが常にあるとは限らないことは理解していますが、ある場合は使用したいと思います。
クラスを上書きする以外JakartaMultiPartRequestに、これを行う方法がわかりません。
編集:私が理解しているシーケンスは次のとおりです。
- ユーザーは、ファイルのアップロードでサーバーにマルチパート リクエストを送信します。
- Struts2 の JakartaMultiPartRequest はリクエストを解析し、Struts2 temp フォルダーにアップロードします。
- フローは最終的に、最大ファイル サイズとファイル拡張子がチェックされるファイル アップロード インターセプターに到達します。
上記から、アップロードがステップ 2 で行われたことは明らかです。ファイル全体がサーバー上にあり、ファイルアップロードインターセプターがファイルが大きすぎることを検出した後でのみです。
java - Struts2 の validate メソッドで何も変更できないのはなぜですか?
Struts2 では、validateメソッドはメソッドの前に呼び出されexecuteます。validateしかし、なぜメソッドのフィールド値を変更できないのでしょうか?
java - TokenHelper - トークン名 struts.token にマップされたトークンが見つかりませんでした
インターセプターを追加すると"execAndWait"、上記のエラーが表示されます。
構成:
私が読んだように、これは警告であり、TokenHelperクラスを変更することで回避できると誰かが言っています。もしそうなら、それを行う方法は?
java - Struts 2.3 Store Interceptor : ActionErrors を Interceptor から Action に渡す方法は?
私はStoreInterceptorStruts 2 ドキュメントで について読んでおり、 の Action 定義に StoreInterceptor を貼り付ける方法について説明していますstruts-config.xmlが、それはうまく機能します。ActionErrorsただし、それはアクション内で fromを作成して追加する場合です。
私の問題は、ログインが失敗した場合に次のようLoginInterceptorに追加するを使用してログインを行っていることです。ActionError
それは問題なく追加されましたが、の後に呼び出されるLoginActionに到達するとLoginInterceptor、.ValidationAwareSupport.actionErrorsnull
このように を追加することで、 をリクエストまたはセッションにStoreInterceptor保存すると考えました (またはパラメータを使用):ActionErrorsoperationMode "store""retreive"
しかし、それは機能していません。また、defaultStack に直接追加しようとしましたがStoreInterceptor、どちらも機能しません。
StoreInterceptorアクション間の保存だけでなくActionErrors、インターセプターとアクション間の保存にも機能しますか?
java - OGNL を使用してアクション メソッドを呼び出す方法
OGNLを使用してアクションメソッドを呼び出す方法は?
helloAction.java
success.jsp
struts.xml
struts 2 OGNLから参照リンクを取得しました
このquote()メソッドは呼び出されません。私は xwork-2.0.1.jar と ognl-2.6.11.jar を使用しています。
struts2 - Struts 2 インターセプターで HttpServletRequest を取得する
インターセプターでを取得するHttpServletRequestには、以下のコードを使用しました:
インターセプターに実装しようとしServletRequestAwareましたが、うまくいきませんでした。
HttpServletRequestインターセプターに乗るより良い方法はありますか?!
java - `invocation.invoke()` を呼び出す複数の Struts2 インターセプターを使用するにはどうすればよいですか?
struts 2 アクション内に複数のネストされたインターセプターがあるとします。
- ふー
- バー
- バズ
- バー
各インターセプターは、intercept()メソッドで次のことを行っています
invocation.invoke()が呼び出されると、これはキュー内の次のインターセプターのメソッドを呼び出しますintercept()か、それとも実際にaction.execute()メソッドを呼び出しますか?
たとえば、 の場合、これは をfoo呼び出しますか、それとも実際に を呼び出しますか?invocation.invoke()bar.intercept()action.execute()
後者の場合、bar.intercept()or baz.intercept()(bar インターセプターから呼び出された場合) を before に呼び出すにはどうすればよいですか?action.execute()つまり、すべてのインターセプターが呼び出される前に実行さaction.execute()れますか?