There is no Action mapped for namespace [/pages/action/student] and action name [findStudent]原因与解决办法



There is no Action mapped for namespace [/pages/action/student] and action name [findStudent]原因与解决办法。

1、错误描述

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

  1. 2014-7-13 2:38:54 org.apache.jasper.compiler.TldLocationsCache tldScanJar
  2. 信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
  3. 2014-7-13 2:38:55 org.apache.struts2.dispatcher.Dispatcher warn
  4. 警告: Could not find action or result: /FirstSSH/pages/action/student/findStudent.action
  5. There is no Action mapped for namespace [/pages/action/student] and action name [findStudent] associated with context path [/FirstSSH]. - [unknown location]
  6.     at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
  7.     at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
  8.     at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37)
  9.     at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
  10.     at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:552)
  11.     at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
  12.     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
  13.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  14.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  15.     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
  16.     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
  17.     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
  18.     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
  19.     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
  20.     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
  21.     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
  22.     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
  23.     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
  24.     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
  25.     at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441)
  26.     at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430)
  27.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  28.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  29.     at java.lang.Thread.run(Thread.java:619)

2、错误原因

      无法找到Action路径,页面引入Action的路径有问题

3、解决办法

     在页面引入一个路径jsp

[html] view plaincopy在CODE上查看代码片派生到我的代码片


  1. <%@ include file=”pathTags.jsp”%>
  1. <%@ taglib prefix=”c” uri=”http://java.sun.com/jstl/core_rt” %>
  2. <%@ taglib prefix=”fmt” uri=”http://java.sun.com/jsp/jstl/fmt” %>
  3. <%@ taglib prefix=”sql” uri=”http://java.sun.com/jstl/sql” %>
  4. <%@ taglib prefix=”x” uri=”http://java.sun.com/jsp/jstl/xml” %>
  5. <%@ taglib prefix=”m” uri=”http://java.sun.com/jsp/jstl/functions” %>
  6. <%
  7. String path = request.getContextPath();
  8. String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;
  9. %>
  10. <c:set var=”bp” value=”<%=basePath%>”></c:set>
  11. <c:set var=”pa” value=”<%=path%>”></c:set>

action请求时

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片

  1. $(function(){
  2.                $.ajax({
  3.                    type:”post”,
  4.                    url:”${bp}/action/student/findStudent.action”,
  5.                    dataType:”json”,
  6.                    success:function(data){
  7.                    }
  8.                });
  9.         });

路径前加上“${bp}”