問題
今天在運行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頁面:
解決!