在过去的两天里,我的头撞在砖墙上,因为我的验证消息不会在JSP上输出,尽管验证显然正在发生......
我已通过action-validation.xml
为必填字段设置了简单验证<validators>
<field name="firstname">
<field-validator type="requiredstring">
<message>First name is required</message>
</field-validator>
</field>
</validators>
Action类扩展了ActionSupport和接口ServletRequestAware,Preparable,ModelDriven
执行,准备和验证方法都在操作类中被覆盖,其配置为
<package name="main" namespace="/" extends="struts-default">
<action name="myform" class="com.uk.MyFormAction">
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="update">s2/user.jsp</result>
<result name="input">s2/user.jsp</result>
</action>
</package>
无论出于何种原因,validation.xml文件中的验证都不会在我的JSP中输出任何内容
<s:if test="hasActionErrors()">
<s:actionerror />
</s:if>
<s:textfield name="firstname" />
页面上还有其他字段,我只是想让这个字段先工作。我已经添加了没有区别的拦截器存储,并且对type =“redirectAction”感到困惑,但是当我将其添加到我的输入结果中时,我在验证和准备提交方法的方法之间得到一个无限循环...
实际配置我确定是正确的。当字段存在时,提交会正确进行,但是当它为空时,struts会重定向回JSP,但不会给出错误消息。
我现在完全没有关于可能出错的想法,有什么建议吗?
编辑:顺便提一下,如果我添加一个addActionError()viamy validate函数,它会在页面上正确显示,但同样缺少validation.xml消息(并且不应该)
正在使用struts.ui.theme=simple
我可以找到与我的问题有关的最近的帖子可以是found here但是消息的拦截器似乎没有存储或拦截我的消息...我试图通过打印输出ActionErrors的数量getActionErrors集合的大小,在我的执行和验证函数中返回0 ...如果工作正常,我不确定是否应返回validation.xml错误
答案 0 :(得分:-1)