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属性的详细作用和用法?我手头没资料,在网上找到的信息也看不懂,谢谢您的知识!
我的分不多,不会忘记您的恩情,谢谢!