/eduplus
11:51:03,968 ERROR Dispatcher:515 - Could not find action or result
There is no Action mapped for namespace /jw and action name myScore. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sudytech.eduplus.base.BaseFilter.doFilter(BaseFilter.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:619)dofilter/**
 * 所有action和jsp都需要配置此filter进行拦截,用于设置编码和线程环境
 * 
 * @author jzhou
 * 
 */
public class BaseFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
//request.setCharacterEncoding("UTF-8");
//filterChain.doFilter(request, response);
        boolean dofilter = false;
        boolean doclear = false;
        try {
            request.setCharacterEncoding("UTF-8");
            String uri = ((javax.servlet.http.HttpServletRequest) request).getRequestURI();            if (uri.indexOf("/errorx.jsp") > -1 || uri.indexOf("/error.jsp") > -1) {
                dofilter = true;
                doclear = false;
            } else {
                String errorInfo = "";
                //System.out.println("process ThreadLocal ...");
                if (EduplusContext.getTreadLocalMap() != null && EduplusContext.getTreadLocalMap().size() > 0) {
                    System.out.println("threadLocal不为空!");
                    doclear = false;
                    dofilter = true;
                } else {
                    doclear = true;
                    if (uri.indexOf("/login.jsp") != -1) {// 如果是登录页面
                     String sclId = (String) ConfigReader.getParamValue("web.schoolId");
                     EduplusContext.setSchoolId(sclId);
                    } else if (request.getParameter("sclId") == null) {
                        errorInfo = "缺少学校Id参数!";
                    }
                    if (!errorInfo.equals("")) {
                        dofilter = false;
                        request.setAttribute("sclId", EduplusContext.getSchoolId());
                        request.setAttribute("error", errorInfo);
                        request.getRequestDispatcher("/errorx.jsp").forward(request, response);
                    } else {
                        dofilter = true;
                        if (EduplusContext.getSchoolId() == 0) {
                         EduplusContext.setSchoolId(request.getParameter("sclId"));
                        }
                        EduplusContext.setRequest((HttpServletRequest) request);
                        EduplusContext.setResponse((HttpServletResponse) response);
                        EduplusContext.setSession(((HttpServletRequest) request).getSession(true));
                        EduplusContext.setServletContext(this.filterConfig.getServletContext());
                        SSOUser ssoUser = EduplusContext.getCurrentUser();
         if (null == ssoUser) {
         IEDUSSOService ssoService = com.sudytech.eduplus.ids.factory.SSOServiceFactory
         .getInstance().createSSOService();
         if (null != ssoService) {
         ssoUser = ssoService.getCurrentUser();
         }
         EduplusContext.setCurrentUser(ssoUser);
         }
                    }
                }
            }
            if (dofilter) {
             System.out.println(((HttpServletRequest)request).getContextPath());
                filterChain.doFilter(request, response);            }
        } catch (Exception e) {
            System.out.println("JspFilter发生异常" + e.getMessage());        } finally {
            if (doclear) {
             EduplusContext.clearThreadLocal();
            }
        }    }执行红色标记就报错
地址是:jw/myScore.do
<?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="jw" extends="struts-default" namespace="/jw">
<!-- 我的成绩查询 -->
<action name="myScore" class="score" method="myCourceScore">
<result name="success">/jw/cjgl/wdcj.jsp</result>
</action>
</package>
</struts>   <bean id="score" class="com.sudytech.eduplus.jw.action.score.score.MyCourseAction"
scope="prototype">

</bean>