tinguo002 发表于 2013-2-6 08:48:20

为No configuration found for the specified action疯狂了4个小时

警告: No configuration found for the specified action: 'login' in namespace: '/jsp'. Form action defaulting to 'action' attribute's literal value.

因为这个错误我在 struts.xml 和 jsp页面之间修改了4个小时,不过最后我搞定他了。
虽然我还不明白原理是为什么,但并不妨碍我把这个可恶问题的解决过程同大家分享。

1.先把struts.xml 写成最简单的格式。

 <package name="default" extends="struts-default">
 

  <action name="login"  class="com.action.LoginAction">
   <result name="success"> /jsp/welcome.jsp </result>
  </action>

 </package>


-------------------
 
 
2.其次把  login.jsp 也改成最简单的格式。
 
  <body>

   <s:form action="login" method="post">
       <s:textfield  name="userName"  label= "用户名"> </s:textfield>
       <s:textfield  name="password"  label= "密码">    </s:textfield>
       <s:submit/>
   </s:form>

  </body>
现在我们可以重启服务了,应该不会再出现问题了。
可是!我如果必须加上 namespace 那又该如何做呢?
--------------------
3.在struts.xml  中加入 namespace="/xxx"  为什么要加3个X 呢 ?那是真的恨呀......
那么要正确的运行你必须在 login.jsp 里写
 
<s:form action="login" method="post" namespace="/xxx">
 
重启-运行;应该不会再有问题的。
但是如果你写成      <s:form action="/xxx/login.action" method="post"> 
依然会出错的,这点我就不明白了哈。
-------------------
4.最后我们再来看一下 这段错误
 
警告: No configuration found for the specified action: 'login' in namespace: '/jsp'. Form action defaulting to 'action' attribute's literal value.
 
当我把 login.jsp 中的 action 值的变化为啥时 'login' 也就变化成啥
当我改变 login.jsp 的目录时, '/jsp'  就会改变  比如  WebRoot/jsp/xjsp/login.jsp 
那么就是 '/xjsp/jsp'.Form action defaulting ....... 
----------------
 
我还不知道如何能能代码像其它人样子贴出来   就像是在编辑器中的效果一样咯。(有谁知道的留言帮我一下哦)
所以看起来很不方便,希望能给痛苦中的人们一些用处哦哦
 
 
 
页: [1]
查看完整版本: 为No configuration found for the specified action疯狂了4个小时