flexigrid显示json数据的[object object]

时间:2013-09-18 05:04:39

标签: jquery json hibernate spring-mvc flexigrid

我正在使用spring和hibernate我正在使用Flexigrid(http://flexigrid.info/)来显示用户在注册表单中输入的数据。注册表格有一个动态下拉框(即组合框从另一个表中获取数据),提交注册表格数据后会保存在数据库中,下拉数据也会保存在数据库中作为其ID(因为注册表格具有“多对一”关系)下拉框)但我的问题是它在显示

时显示[对象对象]

这是我的.js文件

$(document).ready(function() {
    $("#stockEntryGrid").flexigrid({
        url: '../stockEntry/list.action',
        dataType: 'json',
        colModel : [
            {display: 'ID', name : 'id', width : 100,sortable : true, align: 'left'},
            {display: 'Accession Number', name : 'accnNumber', width : 100,sortable : true, align: 'left'},
            {display: 'Stock User Number ', name : 'stockverificationnumbermaintainance.id', width : 100,sortable : true, align: 'left'},
            {display: 'Catalogue Num', name : 'catalogueCopyDetails.accnNo', width : 100,sortable : true, align: 'left'}
            ],
            buttons : [{id : 'addSub', name: 'Add', bclass: 'add', onpress : newStockEntry},
                       {name: 'Delete', bclass: 'delete', onpress : deleteStockEntry},
            {separator: true}
            ],
        searchitems : [
            {display: 'Subject Name', name : 'code'}
            ],
        sortname: "id",
        sortorder: "asc",
        usepager: true,
        title: 'Stock Entry',
        useRp: true,
        rp: 10,
        showTableToggleBtn: true,
        width: 950,
        height: 200
    });   
});

我想要的是,这是显示下拉数据的行

{display: 'Stock User Number ', name : 'stockverificationnumbermaintainance.id', width : 100,sortable : true, align: 'left'}

我能从json获取数据,但在显示它时显示[object object]我认为我没有按照正确的语法显示你可以看到下面的附加图像。

image

1 个答案:

答案 0 :(得分:1)

在Hibernate Pojo类中,您必须获取另一个类的对象并将该值设置为一个瞬态变量,然后使用该瞬态变量进行显示。类似于以下方式..

私人StockNumberMainteinance stockverificationnumbermaintainance;

@Transient
public String getId() {
    if(stockverificationnumbermaintainance != null)
    {
        id=stockverificationnumbermaintainance.getId();

    }

    return id;
}

public void setId(String id) {
    this.id = id;
} 

如果你想要任何其他值代替id,那么用hibernate pojo类变量名替换..