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-validation.xml 和 DefaultProjectsAction.java 以及属性文件。

所有这些模块,当部署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 回答