高手请指教下,该怎么解决
控制台报出的
    com.opensymphony.webwork.dispatcher.DispatcherUtils - Could not execute action     actionorg.apache.jasper.JasperException: null
  页面报出的
javax.servlet.ServletException: Could not execute action
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:246)
com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)
 org.apache.jasper.JasperException: null
 webwork的工作原理,之前接触过struts2还是能明白它的工作原理
 dispatcher 这个核心拦截器  拦截请求,解析request的请求,然后对应寻找webwork.xml的action映射,过滤器过滤下,然后就可以执行action映射中的方法了
   这里报Could not execute action,我是觉的应该在寻找webwork.xml文件中的对应action映射存在问题 
   web.xml的配置没有什么问题
      那问题就是webwork.xml的中的配置问题 
    <xwork>
    <include file="webwork-default.xml"/>
<package name="ylkj-default" extends="webwork-default">
        <interceptors>
            <interceptor name="autowire" class="com.opensymphony.xwork.spring.interceptor.ActionAutowiringInterceptor">
    <param name="autowireStrategy">1</param>
  </interceptor>
                
            <interceptor-stack name="externalStack">
                <interceptor-ref name="autowire"/> 
                <interceptor-ref name="servlet-config"/>
                <interceptor-ref name="fileUpload"/>                
                <interceptor-ref name="static-params"/>
                <interceptor-ref name="params"/>
            </interceptor-stack>
        </interceptors>
        <default-interceptor-ref name="externalStack"/> <global-results>
<result name="global_success">/global/prompt.jsp</result>
<result name="global_error">/global/prompt.jsp</result>
<result name="global_xml">/global/xmlInfo.jsp</result>
<result name="global_no_right">/global/prompt.jsp</result>
</global-results>
    
</package> <!-- <include file="com/ylkj/commons/xwork-commons.xml" /> -->

<!-- JXGL -->
<include file="com/ylkj/hr/jxgl/operation/action/xwork-operation.xml"/>

<!-- GRJXGL -->
<include file="com/ylkj/hr/grjxgl/manage/action/xwork-manage.xml"/>

</xwork>
   这里我想问下
  Include 标签不能使用通配符,否则不能载入Struts.xml,我上面是否使用了通配符?,如果是那要怎么解决,不是的话,那Could not execute action这个错误又是出现在webwork工作原理的那个步骤上的?
  实在没有用过webwork开发过,用的是struts2,原理一样,但在配置上可能就不一样
  项目是可以运行的,都已经通过登入页面进入主页面了,是经过action的 很神奇我在做另一个操作的时候就报这个错了
 望高手指教下
    

解决方案 »

  1.   

    Action 的方法返回值是null吗?
      

  2.   

    断点 该action方法
      能进该action ,步骤都可以走下去,然后在return SUCCESS的时候,就报这个错
     <action name="queryZBSQ" class="com.ylkj.hr.jxgl.operation.action.OperationAction" method="queryZBSQ">
    <result name="success" type="dispatcher">
    /jxgl/operation/zbsq_list.jsp
    </result>
    </action>  D:\tomcat-5.0.30\webapps\SGSHR\jxgl\operation\zbsq_list.jsp
      

  3.   

      对action里面的被赋值的对象都是空的
      

  4.   

    所以我也怀疑SUCCESS 是空的。
      

  5.   


    <global-results>
    <result name="global_success">/global/prompt.jsp</result>
    <result name="global_error">/global/prompt.jsp</result>
    <result name="global_xml">/global/xmlInfo.jsp</result>
    <result name="global_no_right">/global/prompt.jsp</result>
     
    //方法试试看能不能进入这个页面 。
    return "global_success";
      

  6.   

    刚一想到就测试了一下,改为retrun "success";还是错
      

  7.   

    那么现在我可以认为,错误不在webwork.xml里,是在action处理完做返回的时候,找不到映射路径
      

  8.   

    或者说是无法执行return 的操作