Struts2 jQuery网格数据无法加载

我是带有Struts2的JQgrid的初学者。

我尝试过这段代码但是我没有网格中的记录,但是我的所有记录都在行动中。

testGrid.jsp

   ...... .......       

testAction.java

 package com.sttl.rpsc.action; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import com.sttl.rpsc.action.base.BaseAction; import com.sttl.rpsc.dataobject.Application; import com.sttl.rpsc.util.HibernateUtil; public class testAction extends BaseAction { private List gridModel; private List myCustomers; private Integer rows = 0; private Integer page = 0; private Integer total = 0; private Integer record = 0; private String sord; private String sidx; private String searchField; private String searchString; private String searchOper; private boolean loadonce = false; public List getGridModel() { return gridModel; } public void setGridModel(List gridModel) { this.gridModel = gridModel; } public List getMyCustomers() { return myCustomers; } public void setMyCustomers(List myCustomers) { this.myCustomers = myCustomers; } public Integer getRows() { return rows; } public void setRows(Integer rows) { this.rows = rows; } public Integer getPage() { return page; } public void setPage(Integer page) { this.page = page; } public Integer getTotal() { return total; } public void setTotal(Integer total) { this.total = total; } public Integer getRecord() { return record; } public void setRecord(Integer record) { this.record = record; } 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 String getSearchField() { return searchField; } public void setSearchField(String searchField) { this.searchField = searchField; } public String getSearchString() { return searchString; } public void setSearchString(String searchString) { this.searchString = searchString; } public String getSearchOper() { return searchOper; } public void setSearchOper(String searchOper) { this.searchOper = searchOper; } public boolean isLoadonce() { return loadonce; } public void setLoadonce(boolean loadonce) { this.loadonce = loadonce; } public String getJSON() { return getAllApplicationData(); } public String getAllApplicationData(){ String result = SUCCESS; Query q = null; try{ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); q = session.createQuery("from Application"); this.setGridModel(q.list()); if(this.getGridModel()!=null) System.out.println("gridModel.Size() : "+this.getGridModel().size()); else System.out.println("gridModel null"); int to = (rows * page); int from = to - rows; //Count Rows (select count(*) from custumer) record = gridModel.size(); System.out.println("record : "+record); //Your logic to search and select the required data. //gridModel = CustumerDAO.find(from, to); //calculate the total pages for the query total =(int) Math.ceil((double)record / (double)rows); System.out.println("total : "+total); }catch(Exception e){ e.printStackTrace(); } return result; } } 

在struts.xml

  .......... ...........   /testgrid.tiles /testgrid.tiles /testgrid.tiles  

tiles.xml

     

这里我得到了列表大小:183,当我迭代动作文件时,我得到了所有记录,但我无法进入网格状态。 我该怎么办? 那里没有错误。

在您的网格中,您希望重新调整JSON。 因此,在动作映射中,您必须将结果类型更改为json

    

结果类型由Struts2 JSON插件添加到结果类型中。 确保插件位于类路径中,并且您的包正在扩展json-default 。 通过将json指定为结果类型,您可以将操作序列化为JSON,使其可用于javascript代码(在您的情况下为网格)以读取数据。