Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Struts2验证框架不';无法验证字段_Java_Jakarta Ee_Struts2 - Fatal编程技术网

Java Struts2验证框架不';无法验证字段

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

我不熟悉Struts2。我想为一个简单的“注册”表单使用验证框架。这里是我的JSP页面表单元素

    <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>