spring mvc ajax @ModelAttribute

时间:2015-08-27 18:47:23

标签: javascript jquery ajax json spring

在我的Spring MVC应用程序中,我有一个数据表,我使用ajax和json在jquery.dataTables.js的帮助下用分页排序等填充数据。像这样

$(document).ready(function() {
        $("#accordion").hide();

        $("#productList").dataTable({
            "bProcessing" : true,
            "iDisplayLength" : 10,
            "iDisplayStart" : 0,
             -------------
             --------------

            "sAjaxSource" :  ....'/product/productList',
            "aoColumns" : [ {
                "mData" : "year"
            }, {
                "mData" : "catg"
            }, {
                "mData" : "name"

我在桌子上显示4列。 现在点击每一行,我想显示所选记录的详细信息,大约50个字段。

我可以通过jquery实现数据表加载的时间,我可以将所有属性值都设置为json,并且可以在点击每条记录时设置每个50个字段的ID。

var table = $('#productList').DataTable();

$('#productList tbody').on('click', 'tr', function() {

    $("#accordion").show();

    var data = table.row(this).data();

    $('#type').val(data.type);
    $('#expdate').val(data.expDate);
    $('#place').val(data.place);
    $('#status').val(data.status);

但我希望在点击记录时使用@ModelAttributemodel它将在ModelAttribute上执行ajax调用设置。所以记录部分的deatils将在内部形式,每个字段都有弹簧形式路径。

有可能吗?。请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以修改Working JSFiddle方法,因为这里他们使用隐藏数据。

您需要的只是替换 row.child( format(row.data()) ).show();有类似的内容:row.child( format(fetchDataFromServer(row.data().id)) ).show();

DataTable更改了他们的API,因此必须根据旧的API文档进行更改,或者您可以切换到使用新版本的库。

UPD:找到遗留API示例的header directive docs。在这里,您需要修改fnFormatDetails函数调用并从服务器传递数据。