问题
今天在运行Struts2项目中,使用框架校验的时候,出现了警告。
警告提示:
五月 21, 2020 7:30:22 下午 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
警告: No configuration found for the specified action: 'User_register' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
虽然警告没有什么影响,但是作为一个处女座的我很难忍受,找了找解决的办法。
办法:
办法一:
将jsp页面中的action请求的.action删除。尝试之后发现没有起效。
方法二:
login.jsp页面中,<s:form action="login" method="post"> ,此处没有指明namespace属性的值,所以系统会自动的认为namespace的值为警告信息中的那样,namespace: ''
而struts.xml文件中,我们指定的namespace的值为:namespace="/",两处的namespace的值为一致,从而导致了警告的产生。
所以,解决方法很简单,将两个页面的namespace的值改成一样的就行了。这里我修改了login.jsp页面,修改内容如下:
<s:form action="login" method="post" namespace="/">
另外补充一点,这种情况一般发生在Tomcat 6.0及其以后的版本,之前版本的不会发出这种警告。如果不是系统功能的需要,建议不要使用最新版本的服务器。
jsp页面:
struts.xml页面:
解决!