2017-04-12 158 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