使用easyui中的datagrid時,通過action能夠返回json數據,但是,卻不能在頁面中顯示數據


情況匯總:過濾不需要的參數,action返回的action不為NONE

情況一:過濾不需要的參數

如果是分頁查詢數據的話,首先將不必要的字段過濾了,如:currentPage,DetachedCriteria,pageSize.

通過以下代碼完成

     JsonConfig config = new JsonConfig();
        config.setExcludes(new String[]{"currentPage","dc","pageSize"});
        //將pageBean轉化為json
        String json = JSONArray.fromObject(pb,config).toString();

此時,返回的json數據是如下類型:

[
    {
        "rows":[
            {
                "decidedzones":[],
                "deltag":"",
                "haspda":"1"
                ,"id":"297e95de5ef6a63e015ef6ca27030000",
                "name":"lsi",
                "standard":"正常",
                "station":"tudou",
                "telephone":"18345678999"
            }
        ],
        "total":4
    }
]

如果要想在頁面中接收到數據必須要將最外層的中括號去了。我是通過求其子字符串完成的。如下:

json = json.substring(1, json.length()-1);

然后,將其寫會頁面中。

//幫pageBean寫入頁面中
        ServletActionContext.getResponse().setContentType("text/json;charset=utf-8");
        ServletActionContext.getResponse().getWriter().print(json);
        return NONE;

如果,json中的key與easyui中datagrid的columns的field屬性一致的話即可正確顯示
情況二:action中return不為NONE

  因為datagrid使用的是類似於ajax的請求,不會刷新頁面,自然而然的不需要使用struts.xml中的result標簽。return NONE;表示不會跳轉界面,直接返回到jsp中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM