2017-04-12 151 views
0

我有一個jQuery數據庫應該可以加載表數據。我正在使用struts2 Hibernate。數據表不填充在struts2中hibernate

JSP頁面:

<script> 
    $(document).ready(function() { 
      $(".jqueryDataTable").dataTable({ 
        "sPaginationType" : "full_numbers", 
        "bProcessing" : false, 
        "bServerSide" : false, 
        "sAjaxSource" : "getProductPropData", 
        "bJQueryUI" : true, 
        "aoColumns" : [ 
       { "mData": "densityId" }, 
       { "mData": "densityDescription" } 
      ] 
     }); 
    }); 
    </script> 

struts.xml的

<package name="json" namespace="/" extends="json-default"> 
    <action name="getProductPropData" class="com.test.action.PropertyListDataAction"> 
    <result type="json"> 
     <param name="excludeNullProperties">true</param> 
     <param name="noCache">true</param> 
    </result> 
    </action> 
</package> 

Action類:

public String execute() throws Exception { 
     // TODO Auto-generated method stub 

     SessionFactory sf = (SessionFactory) ctx.getAttribute("SessionFactory"); 
     ProductPropertyDAO pdao = new ProductPropertyDAOImpl(sf); 
     List<DensityGroup> dg = pdao.getProductPropListData("Density"); 
     Gson gson = new Gson(); 
     jsonData = gson.toJson(dg); 
     System.out.println("dg:"+dg); 
     return "success"; 
     } 

我正在從JSON格式的數據庫的響應,但我的數據表上沒有得到填充。

Console Output[![][1]] 2

JSON輸出:

{"jsonData":"[{\"densityId\":15,\"validationAware\":{}},{\"densityId\":11,\"densityDescription\":\"Mcvr\",\"validationAware\":{}},{\"densityId\":14,\"densityDescription\":\"test\",\"validationAware\":{}},{\"densityId\":16,\"densityDescription\":\"Chitti\",\"validationAware\":{}},{\"densityId\":12,\"densityDescription\":\"MCVR\",\"validationAware\":{}},{\"densityId\":13,\"densityDescription\":\"4\\\" DIA\",\"validationAware\":{}},{\"densityId\":14,\"densityDescription\":\"test\",\"validationAware\":{}},{\"densityId\":15,\"validationAware\":{}},{\"densityId\":21,\"densityDescription\":\"1 1\/4\\\" DIA\",\"validationAware\":{}},{\"densityId\":22,\"densityDescription\":\"3\/4\\\" DIA\",\"validationAware\":{}},{\"densityId\":37,\"densityDescription\":\"25\\\"DIA\",\"validationAware\":{}},{\"densityId\":24,\"densityDescription\":\"8\\\" DIA\",\"validationAware\":{}},{\"densityId\":25,\"densityDescription\":\"1 1\/8\\\" DIA\",\"validationAware\":{}},{\"densityId\":28,\"densityDescription\":\"6\\\"\",\"validationAware\":{}},{\"densityId\":29,\"densityDescription\":\"1\/2\\\" DIA\",\"validationAware\":{}},{\"densityId\":30,\"densityDescription\":\"EXHAUST STEAM\",\"validationAware\":{}},{\"densityId\":19,\"densityDescription\":\"1 1\/2\\\" DIA\",\"validationAware\":{}},{\"densityId\":44,\"densityDescription\":\"EXHAUSTCLADDING\",\"validationAware\":{}},{\"densityId\":1,\"densityDescription\":\"16 KG\",\"validationAware\":{}},{\"densityId\":11,\"densityDescription\":\"Mcvr\",\"validationAware\":{}},{\"densityId\":2,\"densityDescription\":\"20 KG\",\"validationAware\":{}},{\"densityId\":3,\"densityDescription\":\"24 KG\",\"validationAware\":{}},{\"densityId\":5,\"densityDescription\":\"48 KG\",\"validationAware\":{}},{\"densityId\":6,\"densityDescription\":\"64 KG\",\"validationAware\":{}},{\"densityId\":7,\"densityDescription\":\"96 KG\",\"validationAware\":{}},{\"densityId\":8,\"densityDescription\":\"100 KG\",\"validationAware\":{}},{\"densityId\":9,\"densityDescription\":\"128 KG \",\"validationAware\":{}},{\"densityId\":10,\"densityDescription\":\"120 KG \",\"validationAware\":{}},{\"densityId\":18,\"densityDescription\":\"144KG\",\"validationAware\":{}},{\"densityId\":23,\"densityDescription\":\"5\\\" DIA\",\"validationAware\":{}},{\"densityId\":26,\"densityDescription\":\"4\\\"\",\"validationAware\":{}},{\"densityId\":27,\"densityDescription\":\"125 KG\",\"validationAware\":{}},{\"densityId\":34,\"densityDescription\":\"10\\\" DIA\",\"validationAware\":{}},{\"densityId\":32,\"densityDescription\":\"18\\\" \",\"validationAware\":{}},{\"densityId\":33,\"densityDescription\":\"12\\\" DIA\",\"validationAware\":{}},{\"densityId\":35,\"densityDescription\":\"14\\\" DIA\",\"validationAware\":{}},{\"densityId\":36,\"densityDescription\":\"5\/8\\\" DIA\",\"validationAware\":{}},{\"densityId\":38,\"densityDescription\":\"(1\/2 x 24 SWG)\",\"validationAware\":{}},{\"densityId\":39,\"densityDescription\":\"8\\\" FLANGE\",\"validationAware\":{}},{\"densityId\":40,\"densityDescription\":\"6\\\" FLANGE\",\"validationAware\":{}},{\"densityId\":41,\"densityDescription\":\"3\\\" FLANGE\",\"validationAware\":{}},{\"densityId\":42,\"densityDescription\":\"25 MM DIA\",\"validationAware\":{}},{\"densityId\":43,\"densityDescription\":\"150 KG\",\"validationAware\":{}},{\"densityId\":46,\"densityDescription\":\"INSULATION WORK\",\"validationAware\":{}},{\"densityId\":47,\"densityDescription\":\"18\\\" DIA\",\"validationAware\":{}},{\"densityId\":16,\"densityDescription\":\"Chitti\",\"validationAware\":{}},{\"densityId\":45,\"densityDescription\":\"1 3\/8 DIA\",\"validationAware\":{}},{\"densityId\":56,\"densityDescription\":\"18 KG\",\"validationAware\":{}},{\"densityId\":55,\"densityDescription\":\"40 KG\",\"validationAware\":{}},{\"densityId\":48,\"densityDescription\":\"85 KG\",\"validationAware\":{}},{\"densityId\":49,\"densityDescription\":\"2\\\"\",\"validationAware\":{}},{\"densityId\":50,\"densityDescription\":\"12 KG\",\"validationAware\":{}},{\"densityId\":53,\"densityDescription\":\"FLANGES\",\"validationAware\":{}},{\"densityId\":51,\"densityDescription\":\"2 1\/2\\\" DIA\",\"validationAware\":{}},{\"densityId\":52,\"densityDescription\":\"INSULATION \",\"validationAware\":{}},{\"densityId\":54,\"densityDescription\":\"VALVES\",\"validationAware\":{}},{\"densityId\":57,\"densityDescription\":\"CLASS O\",\"validationAware\":{}},{\"densityId\":58,\"densityDescription\":\"140 KG\",\"validationAware\":{}},{\"densityId\":59,\"densityDescription\":\"30 KG\",\"validationAware\":{}}]"} 
+0

轉到您的網絡選項卡,看到什麼回來了JSON的樣子。每個數據表文檔都有特定的屬性。另外,bServerSide應該是true。 –

+0

我在這裏附加了一張圖片,裏面有什麼是網絡標籤。我得到了一個JSON,但不知道JSON的格式是否正確 請參閱:https://i.stack.imgur.com/kh1Nj.png –

+0

此json對於DataTables不正確。這裏是json需要看起來像回來的文檔。 http://legacy.datatables.net/release-datatables/examples/data_sources/server_side.html –

回答

0

默認數據表查找在JSON的 '數據' 元素。 它找不到它,因此它是'未定義的'。 DataTables提供了一種指定要使用的元素的方法。比較你的json和下面的文檔鏈接,你應該能夠在數據對象中指定ajax.dataSrc =「jsonData」或將「jsonData」更改爲「data」。 如果可能的話,我建議切換到數據表選項的新命名約定,這更清楚,文檔是針對它的。如果你不能使用新的命名方案,改變你的json對象可能是最好的選擇。

文檔: https://datatables.net/examples/ajax/custom_data_property.html

+0

感謝您的答覆。我有另外一個 後更名爲「數據」我收到以下錯誤。 1)獲得兩個彈出式消息https://i.stack.imgur.com/rkZHO.png https://i.stack.imgur.com/VytVt.png 2)看到表中的3,992個條目,我的JSON並不是那麼長。 https://i.stack.imgur.com/WGY6f.png 3)如果我在搜索中輸入字符串酒吧,我看到它正在過濾。 https://i.stack.imgur.com/YZ3U3.png **按照鏈接查看屏幕截圖** –

+1

您的數據還有其他問題。你的數據表配置指定了兩個要查找的名稱,densityId和densityDescription,它們必須存在每行的數據。您的第一行不包含導致datatables.net/tn/4錯誤的densityDescription節點。其他錯誤是針對相同的問題,但節點名稱不同。確保每行包含數據表配置中引用的所有字段。之後,你應該開始看到你的表格中的數據。 – ScratchyBadger