AngularJS - 绑定对象列表

时间:2015-10-30 11:59:40

标签: javascript java angularjs rest

我在AngularJS应用程序中进行对象映射时很震惊。

在html中,我有大约10行,每行有一个标签和2个日期字段。

每行都映射到一个java对象,如下所示

    public class RowObject {

    private Long id;
    private String label;
    private Date startDate;
    private Date endDate;


    // getters / setters    

}

我正在尝试使用下面的HTML代码

    <div class="form-group">
        <label class="control-label col-md-3">Row 1</label>
        <div class="input-group col-md-4">
            <input id="startDate1" type="text" class="form-control" ng-model="entity.rowObjects[0].startDate">
            <input id="endDate1" type="text" class="form-control" ng-model="entity.rowObjects[0].endDate">
            <input type="text" ng-model="entity.rowObjects[0].id" ng-value="1" style="display: none;">
        </div>
    </div>      

    <div class="form-group">
        <label class="control-label col-md-3">Row 2</label>
        <div class="input-group col-md-4">
            <input id="startDate2" type="text" class="form-control" ng-model="entity.rowObjects[1].startDate">
            <input id="endDate2" type="text" class="form-control" ng-model="entity.rowObjects[1].endDate">
            <input type="text" ng-model="entity.rowObjects[1].id" ng-value="1" style="display: none;">
        </div>
    </div>              

错误消息

    Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
 at [Source: org.apache.cxf.transport.http.AbstractHTTPDestination$1@40cc74d9; line: 1, column: 2] (through reference chain: com.jai.model.Entity["rowObjects"])    

1 个答案:

答案 0 :(得分:1)

我认为你的问题出在Java方面。我不能确切地告诉你在哪里没有提供你的java代码,但一般的问题是你试图将json对象反序列化:{}到一个ArrayList(期望一个json数组:{{1} })

只是对您的角度代码发表评论,我建议您使用ng-repeat

[]