問題タブ [interceptorstack]
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 - ファイルのアップロード時に struts2 インターセプターをバイパスする方法
ファイルをアップロードするためのフォームとそのファイルを処理するための jsp を含む単純なページを作成しました。
私の問題は、ファイルがアップロードされると、リクエストオブジェクトがStrutsインターセプターによって処理され、jspページになるとすでに「消費」されているため、「ServletFileUpload.parseRequest()」などのメソッドでリクエストを読み取るための呼び出しです。 " 空のリストを返します。
私はすでに有効な解決策を見つけましたが、これには Tomcat を再起動する必要があり、ページを運用サーバーに追加する必要があるため、再起動しない方法があればもっと良いでしょう。
今のところ、私が試して働いたのはこれです:
1)struts.xmlに追加しました
2)私が書いたstruts-custom.xmlで:
これにより、Struts インターセプターをバイパスしてファイルをアップロードできます。
より良い/よりクリーンなソリューションはありますか? 私が言ったように、アプリケーション サーバーを再起動する必要のないソリューションが最適です。
問題がコードに関連しているとは思わない場合でも、投稿します。
page.html:
アップロード.jsp:
前もって感謝します :)
java - 文字列からバイト配列へのStrust2型変換エラー?
Struts 2 には、 int 、 string 、 double 、 boolean などのユーザーが入力したパラメーター型キャストを処理する暗黙的な型変換があります。しかし、私の要件は、リッチ テキスト領域の入力をバイト配列に変換することであり、そのためにカスタム型コンバーター クラスを作成しました。
モデルクラスでは、プロパティのセッターに次の注釈を指定しました
getter メソッドにも同じアノテーションが適用されます。今はすべて問題ないようです。Action メソッドで正しいデータを取得しています。しかし、jsp でデータを表示しているときに、元のコンテンツで余分なシンボルを取得しています。
例えば。ユーザー入力: あなたの名前は? それは jsp に表示されます: ¬íur[B¬óøTàxpあなたの名前は何ですか?
誰もが何か考えを持っています、私は何を間違っていますか?
java - 一部のアクションにカスタム インターセプターを追加する
いくつかのアクションで特定のメソッドにマップしたいインターセプターを作成しましたが、既存のコードを邪魔したくありません。
struts.xml
:
カスタムインターセプターcsrf
:
csrf
アクションへのマッピング:
validation - 検証が失敗したときにフォームが再入力されない
firstName
フィールドとlastName
フィールドの両方が必要な単純なページがあります。1 つのフィールドだけを入力すると、正しいエラー メッセージが表示されますが、入力した値が失われます。フィールドにはゲッターとセッターがあり、入力するとページは値を正しく使用します。以前のプロジェクトと同じようにすべてが設定されているようで、それらのページのデータは失われませんでした。この質問が以前に尋ねられたことは知っていますが、それらの回答に基づいてコードに問題が見つからないので、誰かが私が間違っていることを理解できることを願っています.
私のjspコードは次のとおりです。
私のストラットアクションは次のとおりです。
私のタイルコードは次のとおりです。
私の struts2 の結果の型とインターセプターのコードは次のとおりです。
私の検証xmlは次のとおりです。
どんな助けでも大歓迎です、ありがとう!
要求されたdirtyFlag()
コード (および関連コード) は次のとおりです。
java - Struts 2 で Action クラスのフィールドを初期化する正しい方法は何ですか?
オブジェクトをフィールドとして持つデータベースから取得したデータを格納するために使用しているクラスがあります。
null
ポインターの問題を回避するために、クラスがインスタンス化されるときにオブジェクトを初期化したいと考えています。
Strutsで問題が発生する可能性があるため、フィールド宣言でフィールドを初期化すべきではないことをどこかで読んだと思ったので(ただし、現在ステートメントが見つかりません)、コンストラクターでフィールドを初期化しています。
私の質問は:
あなたがそれをどのように行うかは重要ですか?それとも、クラスをインスタンス化した後にのみ、新しいオブジェクトを配置する必要がありますか? つまり、クラスを次のように定義する必要があります。
その後にゲッターとセッターが続きます。
ゲッターとセッターが続くか、次のようになります。
その後にゲッターとセッターが続き、次のようにインスタンス化します。
java - Struts2 検証が正しく機能せず、検証エラー メッセージが表示されない
まず、単純なテーマを使用しますが、それがなくても同じ動作が発生します (ページの書式設定を除く)。フォームを送信すると、名前フィールドが空になり、検証エラーを表示せずに register.jsp にリダイレクトされます。ログまたはデバッガーを確認した後、検証が正しく機能しているようで、サーバー ログ メッセージが期待どおりに書き込まれます。一般的なコードを投稿します。
struts.properties
マイアクション
デバッガーで確認すると、検証メソッドが機能しており、ログが書き込まれています。
struts.xml
register.jsp
ご不明な点がございましたら、お気軽にお問い合わせください。私はstruts 2にかなり慣れていないので、struts 2のドキュメント検証方法を試し、他のチュートリアルもチェックしました。ロジックが機能していて、ビュー パーツ (jsp) が機能していないため、何かが欠けているのか、気付いていない設定ミスがあるのか わかりません。前もって感謝します。
java - Struts2 で StrutsPrepareAndExecuteFilter のカスタマイズが必要ですか?
Struts2 を使用していますStrutsPrepareAndExecuteFilter
。の構成web.xml
は次のとおりです。
この共通インターセプター内に認証/許可を実装する必要があります。
そのための簡単な方法は何ですか?拡張するカスタマイズされたインターセプターを作成し、StrutsPrepareAndExecuteFilter
その中で実装を行うことはできますか?
java - Struts 2 でデフォルトのインターセプターから One アクションを除外する方法
別のパッケージに入れずに、デフォルトのインターセプターからログインアクションを除外したい
除外したいアクションはログインアクションです
java - DB からロードされたフィールド オプションを含むフォームと検証
状況は次のとおりです。
- フォームのある JSP ページがあります。
- このフォームには
<select>
、DB からロードされたオプションを含むさまざまなタグが含まれています。 - XML ファイルでバリデーションを使用したいと考えています。
問題は次のとおりです。XML ファイルを使用し、フォーム フィールドにエラーがある場合、Struts フレームワークは、レイアウトしたクラス メソッドを通過せず、input
結果を直接返します。それで、ポイントは何ですか?このようにして、<select>
上で述べたさまざまなタグのオプションをロードできません。
だから私はこのようなことを考えました:
しかし、このトリックを使用すると、すべてのエラー メッセージが失われます。つまり、hasFieldErrors()
常に false が返されます。
どうすれば解決できますか?