問題タブ [xwork]
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.
validation - インターフェイス ActionValidatorManager メソッドの検証におけるアクションのコンテキストの意味
クライアント側の XML による検証に次の方法を使用したかったのです。
次のメソッドで述べられているアクションのコンテキストについて誰か教えてください: Interface ActionValidatorManager
:
アクションとそのコンテキストを使用して、指定されたオブジェクトを検証します。
パラメータ:
object -検証するアクション。
context - アクションのコンテキスト。
例外: ValidationException - アクションの検証中にエラーが発生した場合。
このメソッドでは、アクションのコンテキストの意味を理解できません。
java - オブジェクト プロパティをパラメータとして Struts カスタム バリデータに渡す方法
これはカスタムバリデータであり、ゲッター/セッターがありますcountryCode
国コードをカスタム バリデータに戻す方法。これは私のActionClass-validation.xml
Address オブジェクトには zip とcountryCode
. 国に基づいて郵便番号を検証したい。上記のコードをデバッグするとcountryCode
、値が${address.country}
.
国のプロパティ値を取得するにはどうすればよいですか?
java - Struts2 XWork の Dependency Injection の仕組みがよくわからない
私はIOCに不慣れで、現在Struts2フレームワークのソースコードから学んでいます。ActionInvocation
学習を通じて、ハンドラーがインターセプターなどのフレームワークの基本的な理解を深めました。
しかし、(少なくとも私にとっては)不思議な依存性注入の部分を理解しようとしていたとき、私は完全に道に迷いました。
パッケージに指定されている注入メカニズムcom.opensymphony.xwork2.inject
がわかりにくい。はどのように正確にContainerImpl.inject(Object)
すべての作業を行いますか? または、DI を理解するにはどこから始めればよいでしょうか。
java - Struts2/XWork ValidatorSupport を拡張するクラスは状態を持つことができますか
Struts 2 でクラスを拡張する場合、ValidatorSupport
クラスにインスタンス変数を設定できますか? ステートを持つことができますか、それともステートレスである必要がありますか?
アクションクラスがシングルトンではなく、状態を持つことができることは知っていますが、関連するバリデータについてはわかりません。
を拡張するバリデーター内にインスタンス変数を持つことができるかどうかを知る必要がありますValidatorSupport
。例えば:
バリデーターがサインルストンの場合は、競合状態が発生し、要求/応答ごとに一貫したデフォルト状態にならないため、 alreadyHasErrorOnPage を使用します。それらがシングルトンではなく、要求/応答ごとに新しい SomeValidator インスタンスが作成される場合は、 alreadyHasErrorOnPage を使用しても安全です。
私が現在取り組んでいるプロジェクトに具体的にどの程度関連しているかはわからないので、以下のことは一粒の塩で考えてください。
バリデーターは私たちのプロジェクトではシングルです。アプリケーションにアクセスしてデバッグしたところ、2 回目の要求/応答の後、インスタンス メンバーがデフォルトの状態になっていないことがわかりました。基本的に、それらは最初または前のリクエスト/レスポンスから値を引き継いでいます。
まだ確信が持てない理由は、私たちのプロジェクトが ValidatorSupportport をラップし、バリデーターが実装するインターフェースを公開しているように見えるからです。私たちのコードベース内には、バリデーターのインスタンスをマップに格納して本質的にシングルトンにするコードがあるようです。ストック ストラット 2 が同じように動作するかどうかは判断できませんでした。
java - 2.3.16 から 2.3.31 への Struts のアップグレード
Struts で最近確認されたセキュリティの脆弱性のため、アプリケーションを struts バージョン 2.3.16 から 2.3.31 にアップグレードしています。
主な問題の 1 つは、Action クラスのゲッターとセッターの命名規則です。
例: String のインスタンス変数の場合aType
、Struts 2.3.16 で問題がなかった以前に使用されたセッターとゲッターを以下に示します。
ただし、Struts 2.3.31 では、同じインスタンスに対する setter と getter の期待値は次の形式である必要があります。
以下にリストされている 2.3.31 jar を適用した後に、この種の問題 (setter/getter 命名規則) が見つかったアクション クラスが多数あります。
すべての Action クラスでセッター/ゲッターの変更を必要としない構成レベルでのソリューションを誰かが提案できますか?