2

私はmavenマルチモジュールプロジェクトを持っています。

project-services (service layer..above the dao layer)
project-controller (My Action classes sits in this module)
project-web (all jsps, view artificats)

問題は、DefaultProjectsAction.java とプロパティ ファイルを含むパッケージに有効な DefaultProjectsAction-validation.xml があることです。

これらのモジュールはすべて、war ファイルがデプロイされると /WEB-INF/lib に配置されます。struts.xml でデフォルト パッケージを使用します。すべてのファイルが正しくセットアップされています。ファイル名のスペルミスが適切にチェックされました。検証 xml ファイルが別の jar にある場合、Struts 検証は機能しますか? WEB-INF/classes/にあるはずだと彼らが言う場所をどこかで読みました。これが、Struts フォームを検証できない理由ですか?

4

1 に答える 1

2

この問題を調べ始めてからちょうど 48 時間経ちました。皆さん、解決策が見つかりました。

struts 2 アクション クラスを別のモジュールに配置し、検証のセットアップを次のように行う必要があります。

project-controller (will have action classes for Struts 2 in this case)
 - com.pack.UserAction.java

解決策は、project-web モジュールにソース フォルダー src/main/resources/com/pack (Maven プロジェクト) を作成し、そこに UserAction-validation.xml を配置することです。このような

project-web (views, jsps, properties files and set-up files)
 - src/main/resources/com/pack/UserAction-validation.xml 

ファイルは /WEB-INF/classes/com/pack (アクション クラス パッケージがパスを形成する必要があります) にコピーされ、プロジェクトのビルド時にコピーされます。

于 2012-08-17T19:45:36.573 に答える