1

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

这是我的 .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] 我认为我没有遵循正确的语法来显示你可以看到下面的附加图像。

图片

4

1 回答 1

1

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

private StockNumberMainteinance stockverificationnumbermaintainance;

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

    }

    return id;
}

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

如果您想要任何其他值代替 id 然后用休眠 pojo 类变量名替换..

于 2013-11-24T09:13:30.680 回答