为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"? 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 .......?
----------------
?
我还不知道如何能能代码像其它人样子贴出来?? 就像是在编辑器中的效果一样咯。(有谁知道的留言帮我一下哦)
所以看起来很不方便,希望能给痛苦中的人们一些用处哦哦
?
?
?
则jsp中写为 <s:form action="login"> (不需要写namespace属性)此时控制台不会有警告信息。
2.如果struts.xml 定义了namespace
<package name="default" extends="struts-default" namespace="/kongjian">
则jsp中要这样写 <s:form action="login" namespace="/kongjian">
此时控制台也不会有警告信息。
另外,我发现如果使用了namespace,页面中没有使用namespace属性<s:form name="login">...</s:form>的代码即使被注释掉,也仍然会有警告信息
4 楼 lpxtx001 2011-03-09 根据3楼的说法,我解决了这种问题,呵呵,谢谢各位老大 5 楼 HarryAlex 2011-04-04 谢谢,学习了。