struts2警告 There is no Action mapped for namespace / and action name login

英年攻城狮 2009-06-09 01:23:50
Stacktraces
There is no Action mapped for namespace / and action name login. - [unknown location]
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
java.lang.Thread.run(Thread.java:595)

Struts2的struts.xml文件里的package元素的namespace属性需要在什么地方配置吗,还是随便起个名字就可以?在WebRoot目录下需要建一个和namespace值相同的目录吗?
今天弄了一天了也没整好,到网上搜了好多也不能解决我的问题,大侠们救救急吧,万分感谢您。

struts.xml内容
-----------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<include file="strtus-default.xml"></include>

<package name="usercheck" namespace="/logincheck" extends="struts-default">
<action name="login" class="example.lee.LoginAction">
<result name="success">/welcome.jsp</result>
<result name="login">/login.jsp</result>
</action>
</package>

<!-- Add packages here -->

</struts>
--------------------------------------------------------
struts.xml和struts.properties文件都在src根目录下,login.jsp在webroot根目录下,内容如下:
---------------------
<body>
<s:form action="/login" method="post" namespace="/logincheck">
<s:textfield name="username" label="UserName:"></s:textfield>
<s:textfield name="password" label="Password:"></s:textfield>

<s:submit label="提交"></s:submit>
</s:form>
</body>
------------------------------
jsp页面中<s:form>的namespace和struts.xml文件中package的namespace一样,为什么还说:
There is no Action mapped for namespace / and action name login.
呢?

大侠,最好是解释一下package的namespace属性的详细作用和用法?我手头没资料,在网上找到的信息也看不懂,谢谢您的知识!

我的分不多,不会忘记您的恩情,谢谢!




...全文
2200 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sssss 2011-09-08
  • 打赏
  • 举报
回复
我下了一个struts2.1.8,然后就开始做一个Helloworld程序,接着就发生了There is no Action mapped for namespace / and action name的异常,我很纳闷,然后到百度上搜了一下,发现铺天盖地的都是这个异常,长达4页多,但是都没能解决我的问题。经过研究,我终于发现异常产生的原因,非常兴奋,由于用文字难以表述这个异常,于是我特别为这个异常录制了一集28分钟的视频,这个异常非常有意思。如果谁遇到了这个异常,而你又不知道为什么,那么请留下联系方式,我会将这个28分钟的视频传给你,里面清楚的阐述了异常的原因,以及如何避免这个异常的产生。最好留下QQ号码,如果email的话,怕传不了,视频大小30M。你也可以加这个QQ号码:215498544,我会把视频传给,你会发现这是个非常有意思的异常。
视频下载地址:http://download.csdn.net/detail/zudajun225/3581893
邱游城 2011-08-09
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="login_register" extends="json-default">
<action name="Login" class="com.ruantong.web.UserLoginAction">
<result name="loginOK">/loginOK.jsp</result>
<result name="loginError">/loginError.jsp</result>
</action>
<action name="Register" class="com.ruantong.web.UserRegisterAction">
<result name="register" type="json"></result>
</action>
</package>
</struts>




<%@page contentType="text/html; charset=gbk" pageEncoding="gbk"%>
<html>
<body>
<center>
<form action="http://127.0.0.1:18080/Login_Register/Login.action" method="post">
UserName:<input type="text" name="email"/><br/>
Password:<input type="password" name="password"/><br/>
<input type="submit" value="登陆"/>
</form>
</center>
</body>
</html>
真是奇怪了 我昨天还好好的 今天来测试的时候就成这样子 了 哪位大侠救救啊 !!!!
邱游城 2011-08-09
  • 打赏
  • 举报
回复
我的问题还是没有解决啊 郁闷啊 。。。。。。。。。。。
sunruige 2009-08-19
  • 打赏
  • 举报
回复
dsafa
forever_chrx 2009-07-27
  • 打赏
  • 举报
回复
我想看看
betterhang 2009-06-09
  • 打赏
  • 举报
回复
是<s:form action="login" method="post" namespace="/logincheck">
不是<s:form action="/login" method="post" namespace="/logincheck">
/login相当于在namespace="/"下找对应的action
英年攻城狮 2009-06-09
  • 打赏
  • 举报
回复
确实如楼上所说的那样,今天我也发现了,呵呵,谢谢楼上的仁兄,多谢!

现在我把我的相关的内容贴出来,大家可以参考下:
页面:
<s:form action="addComm" method="post" theme="simple" namespace="/communication">。。。</s:form>

struts.xml(这个工程用到了spring,所以在下面的action的class属性是在applicationContext.xml文件中定义的bean的id)
<package name="procomm" extends="struts-default" namespace="/communication">
<action name="addComm" class="communicationAction" method="addCommunication">
<result name="success">/communication/success_Adding.jsp</result>
<result name="input">/communication/communication_Adding.jsp</result>
</action>
</package>

另外:package的name和namespace的值是可以随便设的(按照相关规约),只需要在使用的时候前后对应起来就行了。

再次谢谢楼上的仁兄,谢谢您!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧