Java Struts2验证框架不';无法验证字段
我不熟悉Struts2。我想为一个简单的“注册”表单使用验证框架。这里是我的JSP页面表单元素Java Struts2验证框架不';无法验证字段,java,jakarta-ee,struts2,Java,Jakarta Ee,Struts2,我不熟悉Struts2。我想为一个简单的“注册”表单使用验证框架。这里是我的JSP页面表单元素 <s:form action="register"> <s:textfield name="name" label="Name" /> <s:textfield name="age" label="Age" /> <s:textfield name="email" label="e
<s:form action="register">
<s:textfield name="name" label="Name" />
<s:textfield name="age" label="Age" />
<s:textfield name="email" label="email"/>
<s:submit value="Register" />
</s:form>
validation error ? = <s:actionerror /><br/>
---Action Message--- <s:actionmessage/>
这是项目结构
请任何人让我知道我怎么能想出这个。提前谢谢
New Add:根据struts.xml,如果有错误,(验证表明有问题),页面应该重定向到index.jsp,但是当字段“name”没有给出任何内容时,仍然会转到home.jsp
找到解决方案我添加到validation.xml
!DOCTYPE验证器公共
“-//OpenSymphony组//XWork验证程序1.0.2//EN”
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
但它显示在表单顶部,我不知道为什么不打印为
actionError
。如何将其打印到希望查看的位置(例如:表单底部)?我认为问题在于xml文件名。应该是RegisterAction validation.xml
正如所说,DOCTYPE应该在validation.xml中。
-->
由于这是一个字段错误,因为您在JSP页面中放置了元素,所以消息接近字段“name”。如果你想把它打印出来,在你想要的地方,
把参数验证值设置为true;在
中,我没有看到任何其他错误。是否关闭RegisterAction validation.xml
中的
标记??我想这只是复制/粘贴错误,但以防万一……您可能需要提供更多详细信息。考虑把你的项目放在GITHUB上,这样我们就可以看看了。没有太多的思考,它似乎应该起作用。为了完整性,它不会重定向到索引,而是转发。
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="register"
class="com.action.RegisterAction">
<result name="success">home.jsp</result>
<result name="input">index.jsp</result>
</action>
</package>
</struts>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<!-- Author: Aash -->
<validators>
<field name="name">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>name is required.. :) </message>
</field-validator>
</field>
</validators>