升级到struts2.5.8后,JSON响应无法正常工作

时间:2017-02-28 07:31:10

标签: json ajax struts2

在我将struts从2.3.x升级到2.5.8之前,JSON可以将数据返回给我,但是现在返回struts2.5.8中的JSON值为空,无论我放置什么类型。这是我的代码:

TestController.java

public class TestingController implements ModelDriven<Object> {
  private ArrayList<Test> testList = null;
  public ArrayList<Test> getTestList() { return testList;}

  public String tableData() {
    jsonMap = new HashMap<String, Object>();
    testList = getTestListBySomething();
    if(testList!=null && testList.size()>0){
      jsonMap.put("test", testList);
    }

  }

我的 struts.xml

   <package name="default" namespace="" extends="rest-default,struts-default" strict-method-invocation="false">
    <result-types>
        <result-type name="json" class="org.apache.struts2.json.JSONResult"/>
    </result-types>
   </package>

我已经检查过testList有数据和大小,但是在ajax的响应中,它显示:

{"test":""}

我的编码出了什么问题?

1 个答案:

答案 0 :(得分:0)

In your strust xml add below parameter.    


    <param name="root">#action</param>

EX :

<result-types>
   <result-type name="json" class="org.apache.struts2.json.JSONResult">
            <param name="noCache">true</param>
            <param name="excludeNullProperties">true</param>
            <param name="root">#action</param>
            <param name="ignoreHierarchy">false</param>
            <param name="excludeProperties">errors</param>
   </result-type>
 </result-types>