首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

struts错误There is no Action 地图ped for namespace [/] and action name [] .

2013-09-24 
struts异常There is no Action mapped for namespace [/] and action name [] ......我用的maven项目管理,

struts异常There is no Action mapped for namespace [/] and action name [] ......
我用的maven项目管理,这个问题是用jetty服务器出的,tomcat可以正常运行跑通。之前tomcat也出现这个问题,后来不知道不知不觉也就没这问题了,昨天换jetty容器了,问题重现,我估计还是当初配置的问题,或是什么命名空间的原因,找了半天没找到,所以求助大家。

下面是我的web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
    <filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>com.bjhit.eranges.utils.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
           </init-param>
    </filter>
    <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>*.*</url-pattern>
    </filter-mapping>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.action</url-pattern>


    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
     <welcome-file-list>
        <welcome-file>/security/login.jsp</welcome-file>
    </welcome-file-list>
</web-app>



然后是我的struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
 
<struts>
 
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.configuration.xml.reload" value="true"/>
 
    <package name="str" namespace="" extends="struts-default"> 
        <interceptors>       
            <interceptor name="loginInterceptor" class="com.bjhit.eranges.filter.LoginInterceptor">
                </interceptor>
            <interceptor-stack name="myDefaultInterceptorStack">
                <interceptor-ref name="loginInterceptor"></interceptor-ref>
                <interceptor-ref name="defaultStack"></interceptor-ref>
            </interceptor-stack>
        </interceptors>
         
        <default-interceptor-ref name="myDefaultInterceptorStack"></default-interceptor-ref>
        <global-results>
            <result name="login">/loginManage</result>


            <result name="success">/frame/main.jsp</result>
        </global-results>
         
        <action name="loginfilter" class="com.bjhit.eranges.filter.LoginInterceptor">
            <result name="login">/loginManage</result>
        </action>
        <action name="loginManage" class="com.bjhit.eranges.actions.LoginManageAction">
            <result type="redirect">/frame/main.jsp</result>
            <result name="error">/security/login.jsp</result>
        </action>
         
    </package>
</struts>



我调用action的时候就会出问题,具体错误如下
2013-4-28 16:35:22 com.opensymphony.xwork2.util.logging.commons.CommonsLogger er
ror
严重: Could not find action or result
/
There is no Action mapped for namespace [/] and action name [] associated with c
ontext path []. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:1
85)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsAct
ionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultA
ctionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:534)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOper
ations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilt
er(StrutsPrepareAndExecuteFilter.java:91)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler
.java:1419)
at com.bjhit.eranges.utils.SetCharacterEncodingFilter.doFilter(SetCharacterEnco
dingFilter.java:39)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler
.java:1419)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137
)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)


at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java
:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java
:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:
193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:
1009)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135
)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHand
lerCollection.java:255)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.
java:154)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:1
16)
at org.eclipse.jetty.server.Server.handle(Server.java:368)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpCo
nnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpC
onnection.java:942)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplet
e(AbstractHttpConnection.java:1004)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java
:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.
java:628)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.j
ava:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:
608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:5
43)
at java.lang.Thread.run(Thread.java:662)


求助如何解决这个问题,配置出错了没有?还是什么其他原因?  异常 Struts 命名空间 namespace action
[解决办法]



<filter-mapping> 
        <filter-name>struts2</filter-name> 


        <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <filter-mapping> 
        <filter-name>struts2</filter-name> 
        <url-pattern>*.action</url-pattern> 
    </filter-mapping> 


重复配置,保留/*那个就可以了,同时请楼主贴出调用的代码啊
[解决办法]
action的路径错误,前后命名空间namespace的值不一致
[解决办法]
 试下这样可以不<package name="str" namespace="/" extends="struts-default">
[解决办法]
引用:
 试下这样可以不<package name="str" namespace="/" extends="struts-default">
赞同楼上
[解决办法]
或者找到对应的的jsp页面,<form action="xxx" method="post" namespace="">这里的namespace要和<package name="str" namespace="" extends="struts-default"> 一致
[解决办法]
lz要明白你测试时请求的url是什么?同时你在web.xml中配置的url映射/*,会拦截所有的请求,包括静态资源访问。所以就会报action name找不到这类的错误
你是在点击登陆报的错误呢,还是后台方法已经运行了,但是在界面渲染的时候报的错误呢

还有你的jsp代码最好也晒晒
[解决办法]
Could not find action or result
/
这里请求的action的name竟然是/
你发一下你的jsp页面代码。
form表单肯定填的有问题

热点排行