页面上的超链接,就是点击这个登录日记后就报错哦,希望各位大侠看看 <a href="loginLog!query.action?employeeId=${employee.employeeId}" target="mainFrame">登录日志</a>
报错
There is no Action mapped for namespace /web and action name loginLog. - [unknown location] 
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:178)
    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:478)
    org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    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:233)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
    org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
    java.lang.Thread.run(Thread.java:619) struts配置文件<?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> <constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.i18n.encoding" value="utf-8" /> <constant name="struts.ui.theme" value="simple" />
<package name="base" extends="struts-default">
</package>
</struts>   loginLogAction@Controller
@Scope("prototype")
@Results( {
@Result(name = "query", location = "/web/login_log.jsp"),
@Result(name = "success", location = "/web/login_log.jsp")
})
public class LoginLogAction extends ActionSupport { private static final long serialVersionUID = 1L;
@Resource
private LoginLogBiz biz;

private Integer employeeId;
private List<Loginlog> logList = new ArrayList<Loginlog>(); /***
 * 查询登錄信息
 * 
 * @return
 * @throws Exception
 */
public String query() throws Exception {

logList = biz.getLogListByEmployeeId(employeeId);
return "query";
}
web.xml下面的 struts2的过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.accp.action</param-value>
</init-param>
<init-param>
<param-name>struts.custom.i18n.resources</param-name>
<param-value>messageResource</param-value>
</init-param>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

解决方案 »

  1.   

    There is no Action mapped for namespace /web and action name loginLog
    配置有误,
    检查下
      

  2.   

    你的代码没有走到action里面,想想从页面是怎么到你JAVA代码处理的呢?
    要增加一个映射
    <action-mappings>
    <action path="/LoginLog"
    type="加你action实现的相对路径+LoginLogAction"
    name="LoginLogActionForm" parameter="method" scope="request"
    </action>
    </action-mappings>最后,在web-inf里加进去,这样的例子很多,可以在网上找一下
      

  3.   

    你那个是struct 1的吧,现在用的是struct2.1呀
      

  4.   


    <action name="loginLog" class="LoginLogAction">
    <result name="...">...</result>
    </action>
      

  5.   

    找不到action,你是用的注解,一些规则你还是不太明白
    访问action时要去掉类名后的Action,然后将各个单词小写用-连接起来!
    所以说楼主你要访问LoginLogAction时,就要这样写login-log!query.action
      

  6.   

    另外你的返回资源,action默认会去web-inf下的content下找!