問題タブ [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 - liferay struts2 で同じスタックを使用するアクション クラスの 2 つのアクション メソッド
私は Struts2 で liferay を使用しています。1 つのアクション クラスに 2 つのアクション メソッドがあり、最初のアクション メソッド (execute()) でクラスからオブジェクトを作成し、それをビューに渡し、view.jsp で正常に表示します。 m そのオブジェクトを使用していますが、フォームを送信して 2 番目のアクション メソッド (sendMessage()) に移動すると、例外が発生しました。
私は何をすべきか?何が問題ですか?
struts.xml
SupportFormAction.java
SendEmail.java
view.jsp
struts2 - アクション チェーン中の java.lang.ClassCastException - Struts 1 から Struts 2 へ
Struts 1 アプリケーションがあります。Struts 2 に移行する必要があります。小さな変更があります。Action クラスは何も変更しません。既存のアクション クラスとアクション フォームを使用しています。アクションは問題なくトリガーされます。しかし、アクション チェーンが期待どおりに機能していません。LoginAction から FetchInboxAction までの多くの値を使用しています。どちらも2つの異なるフォームを使用しています。サンプルの struts.xml とエラー スタックを見つけてください。チェーンアクションがうまくいきません。
現在、以下のエラーが発生しています。
struts.xml:
java - Value Stack にプットおよびポップする Struts 2 Interceptor はスレッドセーフですか?
オブジェクトを Value Stack に置き、いくつかのロジックを実行してから削除するインターセプターを考えてみましょう。
Struts2 スレッドのインターセプターは安全ではありませんか? で述べたように インターセプターはスレッド セーフですが、上記のコードで Value Stack を扱っているため、これで問題ないのか、上記のコード セクションを同期する必要があるのか 疑問に思います。
二次的な質問として、値スタックから要素を削除するより良い方法はありますか?
struts2 - struts.xml にデフォルト アクションを記述すると、struts でエラーが発生します。
これは私のコードです
struts.xml
エラーが表示されるエラーの原因がわかりません。要素タイプ「パッケージ」の内容は「(結果タイプ?,インターセプター?,デフォルトインターセプター参照?,デフォルトアクション参照?,デフォルトクラス参照? ,global-results?,global-exception-mappings?,action*)". 私を修正してください
html - チェックボックスの値 `on` は Action クラスに送信されません。HttpServletRequest から直接パラメータを取得しますか?
Struts 2 の従来の方法でアクション クラスにフォームを送信したいと考えていgetter/setter
ます。他のすべてのフィールドは値を取得しますが、フィールドを除いて、対応するチェックボックスをオンにするとboolean
そのままになります。false
jspに次のようなチェックボックスがあります。
そして、私のアクションクラスには次のものがあります:
およびそのゲッター/セッター。しかし、私がそれをチェックしたとき、それは偽のままです。
含まれていることに気付きましたqueryString
:
そして、リクエストのパラメーターを取得しようとすると、次のようになりますtrue
。
これが問題かどうかはわかりませんが、インターセプターを使用しています。しかし、私は常にdefaultStack
. なぜ?
ここに私のアタッチstruts.xml
:
そして私のQueryInterceptor.java
:
ここで、パラメーター"soloIda"
を直接取得request
して手動で割り当てたいと考えていますが、それは Struts 1 の作業方法だと思います。なぜそれが機能していないのですか?私は何か間違ったことをしているに違いない。
java - struts2 での execandwait インターセプターを使用した複数ファイルのアップロード
ExecuteAndWait Interceptor を使用して複数のファイルをアップロードしようとしています。正常に動作するファイルのアップロード部分を実行しましたが、execAndwait を使用すると、次のエラーが発生しました。
java.io.FileNotFoundException: C:\Users\hp\AppData\Roaming\NetBeans\8.0.2\config\GF_4.1\domain1\generated\jsp\FileUpload\upload_454f573a_3a8d_4e15_ba96_aa9cb6f4486f_00000002.tmp (指定されたファイルが見つかりません)
struts.xml
アクション
待機.jsp
注: 私のコードは、ファイルまたは画像のいずれかのファイルのアップロードを 1 つしか受け付けていないことがわかりました。