解决方案 »

  1.   

    你的配置文件名称是struts.xml吗,还有它的位置在src吗
      

  2.   

    使用的是struts2+ 文件名就是struts.xml 放在src目录下的。
      

  3.   

    ajax提交的路径不对呀,少了namespace
      

  4.   

    如果我加上category/cat.action 就404了直接
      

  5.   

    你先单独访问!cat.action看能访问到么? 
      

  6.   

    直接抛上面那个500异常,后台没有异常信息。基本上是struts.xml的问题了
      

  7.   

    "cat.action"换成"category/cat.action"试试
      

  8.   

    估计还是struts.xml文件的问题!修改简单点试试 路径什么的别搞乱了!
      

  9.   

    你配的struts的url为 <url-pattern>/*</url-pattern> 所以就应该把cat.action改为cat
      

  10.   

    <struts> 
      <include file="struts-authorize.xml"/>
      <include file="struts-category.xml"/>
      <include file="struts-cart.xml"/>
      <include file="struts-order.xml"/>
       
      <package name="dang-default" extends="json-default">
         
      </package>   
    </struts>在package内配置你在AJAX中调用的Action:CategoryAction
    result为
    <result type="json"/>
      

  11.   

    空指针异常,肯定是某个实例为null,你确定excute()没执行,估计cats为null,所以报错了,在cats=dao.findByid(1, true);之前随便输出一点内容看看有没有执行到。
      

  12.   

    嗯 我知道的 这时候.action加不加都无所谓的,这个不是造成问题的原因啊~~真是不知道咋回事了,反编译下StrutsActionProxy.java:69 代码如下: String contextPath = ServletActionContext.getRequest().getContextPath();
      

  13.   

    在execute方法第一行debug断点的,都没走断点。
      

  14.   

    试着按你说的把struts-category.xml改成这样了: <action name="cat" class="dangdang.actions.category.CategoryAction">
             <result type="json" />  
             <result name="success">/category/category.jsp</result>       
         </action>
      

  15.   

    重写ActionSupport类的addActionError、addActionMessage、addFieldError方法,打个断点,看看错误信息是啥你就明白了。
      

  16.   

    问题解决了,自己经过尝试,最后解决了,我把解决的步骤贴出来,以便希望对以后遇到这个问题的后来人有所帮助,步骤如下:
    将使用的xwork-core-2.3.1.2.jar包替换为xwork-core-2.1.6.jar,同时添加struts2-convention-plugin-2.1.8.1.jar 、struts2-embeddedjsp-plugin-2.1.8.1.jar、struts2-json-plugin-2.1.8.1.jar,为了缩小范围这几个报我挨个试了下,必须是这四个包的组合,我也很奇怪。
    2.更改web.xml文件struts配置如下<filter>
    <filter-name>StrutsFilter</filter-name>

    <!-- 
                <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
     -->
           <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
     
    </filter>3.此时访问不再报500,而是404,然后更改main.jsp的ajax请求如下:$(function(){
    $.get(  //发json请求
    "category/cat.action",
    function(data){  
               $("#left").html(data);
    }
    );
    });访问,然后OK,效果出来,断点正常走,数据读取成功。