gpt4 book ai didi

java - jqGrid 不显示来自 java 的 Json 数据

转载 作者:行者123 更新时间:2023-11-29 22:11:10 25 4
gpt4 key购买 nike

这是我的java服务

@RequestMapping(value="/refreshInterviewServiceList1", method = RequestMethod.GET)
public @ResponseBody JSONObject refreshInterviewServiceList1() throws JSONException{

List<ReportInterview> reportInterview = reportInterviewServiceImpl.findByReportId(reportId);

JSONObject output = new JSONObject();
JSONArray toplevel = new JSONArray();
output.put("page", 1);
output.put("records", reportInterview.size());
output.put("total",1);

for(int i = 0;i<reportInterview.size();i++){

JSONObject data = new JSONObject();
JSONArray data1 = new JSONArray();
data.put("id", i+1);

data1.put(reportInterview.get(i).getName());
data1.put(reportInterview.get(i).getOccupation());

data.put("cell", data1);

toplevel.put(data);

}

output.put("rows", toplevel);

System.out.println(output);

return output;
}

这是我的javascript

<script type="text/javascript">

jQuery(document).ready(function () {
jQuery("#projectTable").jqGrid({
url: 'refreshInterviewServiceList1',
datatype: "json",
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: true,
cell: "cell",
id: "id"
},
colNames:['Id','Name','Occupation'],
colModel:[
{name:'id',index:'id', width:10},
{name:'name',index:'name', width:10},
{name:'occupation',index:'occupation', width:10}
],
rowNum:10,
rowList:[10,20,30],
height:460,
width:700,
pager: "#pagingDiv",
viewrecords: true,
caption: "Projects"
});
});

我的 json 对象的输出

{
"total": 1,
"page": 1,
"records": 2,
"rows": [
{
"id": 1,
"cell": [
"232",
"12"
]
},
{
"id": 2,
"cell": [
"45",
"454"
]
}
]
}

我现在的问题是 jqgrid 无法在 jqgrid 中显示 json 数据...只显示空白列表...请帮忙...谢谢!

最佳答案

这是我前段时间为个人项目编写的一个实用程序。它生成 jqGrid 可以呈现的数据。

import java.util.List;

public class JQGridContainer {
private Integer page;
private Integer total;
private Integer records;
private List<JQGridRow> rows;

//getters and setters are omitted for brevity
}

import java.util.List;

public class JQGridRow {

private Integer id;
private List<String> cell;

//getters and setters are omitted for brevity


}



import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.log4j.Logger;

public class JQGridFormatterUtil {

private static final Logger logger = Logger
.getLogger(JQGridFormatterUtil.class);

public static String getJSON(int currentPageNo,
int totalRecords, Set objectsToBeAdded,
List orderedPropertyNames) {

Integer pages = 0;

if(totalRecords % 50 >0){
pages = (totalRecords/50)+1;
}
else{
pages = (totalRecords/50);
}

JQGridContainer container = new JQGridContainer();
container.setPage(currentPageNo);
container.setTotal(pages);
container.setRecords(totalRecords);
List rows = new ArrayList();
if (!objectsToBeAdded.isEmpty()) {
for (Object obj : objectsToBeAdded) {
JQGridRow row = new JQGridRow();
row.setId(new Integer(getPropertvalue(obj, "id")));
List cells = new ArrayList();
for (String propertyName : orderedPropertyNames) {
cells.add(getPropertvalue(obj, propertyName));
}
row.setCell(cells);
rows.add(row);
}
}
container.setRows(rows);
return JSONUtil.convertToJSON(container);

}

private static String getPropertvalue(Object bean, String propName) {
String val = null;
try {
val = ObjectUtils.toString(PropertyUtils.getProperty(bean, propName));
} catch (IllegalAccessException e) {
logger.error(e);
} catch (InvocationTargetException e) {
logger.error(e);
} catch (NoSuchMethodException e) {
logger.error(e);
}
return val;
}


import org.apache.log4j.Logger;

import com.google.gson.Gson;

public class JSONUtil {

private static final Logger logger = Logger.getLogger(JSONUtil.class);


public static String convertToJSON(Object obj){
String json = null;
Gson gson = new Gson();
json=(gson.toJson(obj));
logger.debug(json);
return json;
}

}

}

关于java - jqGrid 不显示来自 java 的 Json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com