struts2 jquery网格:网格上未显示数据

struts2 jquery网格:网格上未显示数据,jquery,json,jqgrid,struts2,Jquery,Json,Jqgrid,Struts2,我正在尝试使用struts2 jquery网格插件。 调试时,我的gridmodel得到正确更新,但网格上没有显示任何内容。 这是我的动作课: private List<Customer> gridModel; private Integer rows ; private Integer page ; private String sord; priva

我正在尝试使用struts2 jquery网格插件。 调试时,我的gridmodel得到正确更新,但网格上没有显示任何内容。 这是我的动作课:

private List<Customer> gridModel; 
  private Integer             rows          ;

  private Integer             page         ;

  private String              sord;

  private String              sidx;

  private String              searchField;

  private String              searchString;

  private String              searchOper;

  private Integer             total         ;

  private Integer             records        ;

public String execute() throws Exception{
    try {
    List<Customer> list = new ArrayList<Customer>; 
    for (int i=0; i<3; i++) {
        Customer cust = new Customer("myName", 20, "myAdress", "23651336"); 
        list.add(cust); 
    }
    setGridModel(list); 
    setRecords(list.size());
    total =(int) Math.ceil((double)records / (double)rows);
    } catch( Exception e) {
        log.error("Error in JSON data : " +e.getMessage()); 
    }
    return SUCCESS; 

}

public List<Customer> getGridModel() {
    return gridModel;
}

public Integer getPage() {
    return page;
}

public void setPage(Integer page) {
    this.page = page;
}

public String getSearchField() {
    return searchField;
}

public void setSearchField(String searchField) {
    this.searchField = searchField;
}

public void setGridModel(List<Customer> gridModel) {
    this.gridModel = gridModel;
}

public String getSord() {
    return sord;
}

public void setSord(String sord) {
    this.sord = sord;
}

public String getSidx() {
    return sidx;
}

public void setSidx(String sidx) {
    this.sidx = sidx;
}

public Integer getRecords() {
    return records;
}

public void setRecords(Integer records) {
     this.records = records;

        if (this.records > 0 && this.rows > 0)
        {
          this.total = (int) Math.ceil((double) this.records / (double) this.rows);
        }
        else
        {
          this.total = 0;
        }
}

public String getSearchOper() {
    return searchOper;
}

public void setSearchOper(String searchOper) {
    this.searchOper = searchOper;
}

public Integer getTotal() {
    return total;
}

public void setTotal(Integer total) {
    this.total = total;
}

public String getSearchString() {
    return searchString;
}

public void setSearchString(String searchString) {
    this.searchString = searchString;
}

public Integer getRows() {
    return rows;
}

public void setRows(Integer rows) {
    this.rows = rows;
}
私有列表网格模型;
私有整数行;
私有整数页;
私有字符串排序;
私有字符串sidx;
私有字符串搜索字段;
私有字符串搜索字符串;
私有字符串搜索器;
私有整数合计;
私有整数记录;
公共字符串execute()引发异常{
试一试{
列表=新的ArrayList;
对于(int i=0;i 0&&this.rows>0)
{
this.total=(int)Math.ceil((double)this.records/(double)this.rows);
}
其他的
{
这个总数=0;
}
}
公共字符串getSearchOper(){
返回搜索操作器;
}
公共无效设置搜索器(字符串搜索器){
this.searchOper=searchOper;
}
公共整数getTotal(){
返回总数;
}
公共void集合总计(整数总计){
这个.总计=总计;
}
公共字符串getSearchString(){
返回搜索字符串;
}
public void setSearchString(字符串搜索字符串){
this.searchString=searchString;
}
公共整数getRows(){
返回行;
}
公共void集合行(整数行){
this.rows=行;
}
我将以下网格定义添加到jsp中:

<s:url id="remoteurl" action="jsontable"/>
<sjg:grid
    id="gridtable"
    caption="Listes "
    dataType="json"
    href="%{remoteurl}"
    pager="true"
    gridModel="gridModel"
    rowList="10,15,20"
    rowNum="15"
    rownumbers="true"
>
    <sjg:gridColumn name="name" index="name" title="Name"  />
    <sjg:gridColumn name="age" index="age" title="Age"/>
    <sjg:gridColumn name="adress" index="adress" title="Adress" />
    <sjg:gridColumn name="tel" index="tel" title="Tel"   />
</sjg:grid>

在struts.xml中,我用结果类型json声明我的操作

<package name="default" extends="json-default,struts-default" namespace="/">

    <result-types>
        <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
        <result-type name="json" class="org.apache.struts2.json.JSONResult" />
    </result-types>

    <action name="jsontable" class="com.web.action" method="execute" >
        <result name="success" type = "json"></result>
    </action>

</package>


请告诉我我遗漏了什么

当我将我的操作放在新的类操作中,而不是放在另一个操作中时,问题就解决了。

你的控制台中有JavaScript错误吗?你能手动请求你的JSON操作并收到有效的JSON响应吗?谢谢你的回放。没有JavaScript错误。我想我没有JSON响应问题是在JSON转换中,您的类是否扩展了任何类?另外,您是否可以向我们展示当调用jsontable/使用LiveHTTPHeader或您使用的任何东西时返回的内容/No我的类不执行任何类,但它实现了SessionAware和ScopedModelDriven。抱歉,但我不明白使用LiveHTTPH返回jsontable的含义是什么eader@Sarroura如果您有JSON结果中不需要的任何getter方法,请在方法-@org.apache.struts2.JSON.annotations.JSON(serialize=false)上添加此注释。我的意思是,您可以使用浏览器向我显示您操作的JSON响应吗