我正在用 struts2 + Jquery 插件编写一个 Web 应用程序。
我正在使用带有 sj:submit 来自 jquery 插件的标签的 AJAX 表单提交。在 sj:submit 中使用“validate=true”标签验证表单 (AJAX) 时遇到问题。以下是 sj:submit 标记:
<sj:submit value="ADDUSERNOW" onBeforeTopics="before" onSuccessTopics="success"
onErrorTopics="errorState" onCompleteTopics="complete" targets="userMgmntDiv" validate="true"/>
我的 html 头部分还包含对验证所需的两个 js 文件的引用,如下所示。
<script language="JavaScript" src="${pageContext.request.contextPath}/struts/utils.js" type="text/javascript"></script>
<script language="JavaScript" src="${pageContext.request.contextPath}/struts/xhtml/validation.js" type="text/javascript"></script>
下面给出了验证 xml,它被命名为 ActionClass-validation.xml,它与调用验证的类放在同一个包中:
<validators>
<field name="userModel.userName">
<field-validator type="requiredstring">
<message>UserName Is Required</message>
</field-validator>
</field>
</validators>
提交表单后,不会触发验证,继续执行并调用 struts2 动作类。
我在这里有什么遗漏吗?我搜索了很多,但找不到任何答案。请帮助
struts2-core 版本:2.3.4 struts2-jquery-plugin:3.3.3 动作配置如下所示:
<action class="addUserAction" method="addUser">
<interceptor-ref name="jsonValidationWorkflowStack"/>
<result>addUser.jsp</result>
</action>
除了上述之外,我使用 spring + struts2 + hibernate 来完成上述任务。当我尝试 struts2-jason wiki 页面中所示的示例时:,我收到错误:找不到名为 AddUserAction 的类的操作(这是一个spring-beans.xml 中的 bean)似乎在调用验证器拦截器时引发了错误。当我注释掉用于验证操作类的注释时 - AddUserAction,此错误消失并且页面加载成功。以下是我的问题: 1)如何使用 spring 和 struts2 约定插件?这是因为,约定插件使用自己的机制来映射 url 和操作(使用注释或默认行为)。2)Prevuosly,我期待 struts.xml 文件可用于 url 到操作的映射,注释可用于验证。