【问题标题】:How to display data from json output to JSP grid table?如何将数据从 json 输出显示到 JSP 网格表?
【发布时间】:2013-12-31 15:56:59
【问题描述】:

我正在尝试使用 Struts 2 和 jQuery 网格来显示输出。我得到了正确的 JSON 输出。但是我无法使用 Struts 2 jQuery 网格将结果页面显示到 JSP 页面中。我的 JSON 输出如下:

{"gridModel":[[81,1],[82,1],[83,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1]],"page":0,"records":10,"rows":0,"searchField":null,"searchOper":null,"searchString":null,"sidx":null,"sord":null,"total":2147483647}

你能告诉我为什么我无法显示网格表吗?我的完整代码如下:

Struts2 代码:

<action name="product" class="com.example.ProductAction">
    <result>/pages/ .jsp </result>
</action>
    
<action name="productJson" class="com.example.JSONProduct"  method="execute">
    <result type="json" />
</action>

JSONProduct.java:

public class JSONProduct  extends ActionSupport {
    List<Product> gridModel;
    private Integer rows = 0;
    private Integer page = 0;
    private String sord;
    private String sidx;
    private String searchField;
    private String searchString;
    private String searchOper;
    private Integer total = 0;
    private Integer records = 0;
    
    // getter and setter
    
    public String execute(){            
    
        int to = (rows * page);
        int from = to - rows;

        ProductDAO dao = new ProductDAO();
        records = dao.getAllProduct().size();
        
        gridModel = dao.getAllProduct();            
        total =(int) Math.ceil((double)records / (double)rows);
        System.out.println(gridModel);          
        return SUCCESS;
    }
    
    public String getJSON(){
        return execute();
    }
}

ProductAction.java:

public class ProductAction extends ActionSupport {
    public String execute(){            
        return SUCCESS;
    }   
}

Product.jsp:

<s:url var="remoteurl" action="productJson" />
<sj:head jqueryui="true" jquerytheme="redmond" />
<sjg:grid id="gridtable" caption="Data" dataType="json"
    href="%{remoteurl}" pager="true" gridModel="gridModel"
    rowList="10,15,20" rowNum="15" rownumbers="true">
    
    <sjg:gridColumn name="id" index="id" title="Product ID" />
    <sjg:gridColumn name="quantity" index="quantity" title="Product quantity" />

</sjg:grid> 

【问题讨论】:

  • 请注意,在收到合法答案后删除问题是不体谅的。

标签: java jquery jsp struts2 grid


【解决方案1】:

sj:head 标签用于 HTML head 标签正文。尝试将标签移动到头部标签。

<head>
  <sj:head jqueryui="true" jquerytheme="redmond" />
  <title></title>
</head>

【讨论】:

  • 我移动了那个标签。但是网格表没有任何数据。行数对网格表是正确的。但所有行都是空白/空的。
  • 总页数有无效值。确保您拥有正确设置行的字段的 getter 和 setter。
  • 我检查了所有的 getter 和 setter。我是否需要在 ProductAction.java 文件中添加一些其他代码。我只是在那里写了一个方法,如下所示: public class ProductAction extends ActionSupport { public String execute(){ return SUCCESS; } } 而且我没有在该代码中添加任何其他内容。
  • remoteurl 有效吗?它应该像href="%{#remoteurl}"。为什么"rows":0
  • 不,没必要。
猜你喜欢
  • 2019-04-17
  • 1970-01-01
  • 2015-06-23
  • 2017-03-20
  • 1970-01-01
  • 2015-06-02
  • 2022-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多