2013-10-19 48 views
1

我的第一篇,所以請去容易對我..無法呈現返回我的模型骨幹

我目前正在寫在BackboneJS + JAX-RS醫院排班Web應用程序。它一直OK,直到現在,但我不能爲我的生活工作這一個...

在我的Group模型我有一個Users集合。

這返回爲JAX的List<User>User@XmlRootElement註釋。

但是當我打電話時,它使用User模型而不是Users集合填充Group模型。

有沒有辦法告訴JAX將User型號列表作爲Users集合返回?

任何幫助表示讚賞!

編輯:

組模型在骨幹:

window.Group = Backbone.Model.extend({ 
urlRoot: "api/groups", 
defaults: { 
    name: '' 
}, 

validate: function(attrs){ 
    var errors = []; 

    if (!attrs.name) { 
     errors.push({name: 'name', message: 'Please fill in the name field.'}); 
    } 

    if(!attrs.users || attrs.users.length == 0){ 
     errors.push({name: 'users', message: 'Please add at least 1 user.'}); 
    } 

    return errors.length > 0 ? errors : false; 
} 
}); 

在Java中組模型:

package org.jakeduncandev.roster; 

import java.util.List; 

import javax.xml.bind.annotation.XmlRootElement; 

@XmlRootElement 
public class Group { 

private int id; 

private String name; 

private int ownerid; 

private List<User> users; 

public List<User> getUsers() { 
    return users; 
} 

public void setUsers(List<User> users) { 
    this.users = users; 
} 

public int getId() { 
    return id; 
} 

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

public String getName() { 
    return name; 
} 

public void setName(String name) { 
    this.name = name; 
} 

public int getOwnerid() { 
    return ownerid; 
} 

public void setOwnerid(int ownerid) { 
    this.ownerid = ownerid; 
} 


} 

JSON返回:

"groups":[{"name":"mates","id":71,"users":[{"id":6,"password":"<PASSWORD>","email":"<EMAIL>","firstName":"Jake","lastName":"Duncan"},{"id":7,"password":"<PASSWORD>","email":"<EMAIL>","firstName":"alec","lastName":"stearn"}],"ownerid":0}] 
+0

如果你發佈你的代碼,你很可能會得到一些答案。 – Pappa

+0

您必須重寫您的模型的'parse'函數以將數據設置爲集合。 – user10

+0

可以請你發佈你的組模型和你收到的JSON嗎? – providencemac

回答

0

解決了!

我爲我的Group模型添加了parse方法。然後當我實例化我的集合時,我使用了選項:{parse: true},然後它調用每個模型的parse方法。

感謝您的幫助每個人和user10提示覆蓋解析方法!

parse: function(response){ 

    response.users = new window.Users(response.users); 

    return response; 
}