页面包含如下表格.
1)如果我插入到表单validate =“ true”,则在页面加载此表单后,将请求提交到邮件操作(此时尚未创建验证xml).
2)创建验证xml后(与动作相同),然后对该页面的控制请求的动作返回404页面.
我错过了什么?
style="width:100px; height:35px; margin-top:20px"/>
验证XML
/p>
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
Please enter a user name
Please enter your message
如果我不添加验证,那么一切都会正常进行.
在struts.xml
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
/error404.jsp
class="com.user.action.LoginAction" method="main">
/main.jsp
/main.jsp
解决方法:
INPUT是Struts2提供的predefined results之一;
基本上,如果您的操作发送的参数不正确(转换错误,如将“ abc”发送给Integer Action变量),或者未通过验证,则工作流拦截器将返回INPUT结果并遵循指定的路径在该Action的struts配置中.
您的问题是,您始终没有定义Action的任何INPUT结果.
您也可以将全局输入结果设置为后备,但要小心……通常,如果输入为INPUT,则要转到的页面与发送请求的位置相同.
如果是INPUT结果,则不会执行您的Action方法(例如execute()),因此,如果您在该方法中加载常用数据(如选择框内容),将不再可用.
阅读以下答案,以充分理解其含义以及如何使其工作:
标签:java,struts2
来源: https://codeday.me/bug/20191012/1899303.html