gpt4 book ai didi

java - 无法渲染我返回的 Backbone 模型

转载 作者:行者123 更新时间:2023-11-28 08:48:24 25 4
gpt4 key购买 nike

我的第一篇文章,所以请对我宽容一点..

我目前正在使用 BackboneJS + JAX-RS 编写医院排类 Web 应用程序。到目前为止一切都还好,但我一辈子都无法解决这个问题......

在我的Group型号我有一个Users Collection 。

这将返回为 List<User>来自 JAX 和 User@XmlRootElement对其进行注释。

但是当我调用 fetch 时,它会填充 Group具有 User 数组的模型模型而不是 Users Collection 。

有没有办法告诉 JAX 返回我的 User 列表型号为Users Collection ?

感谢任何帮助!

编辑:

Backbone 中的组模型:

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}]

最佳答案

解决了!

我向我的 Group 模型添加了一个 parse 方法。然后,当我实例化集合时,我使用了选项:{parse: true},然后它为每个模型调用 parse 方法。

感谢大家的帮助,并感谢 user10 建议覆盖解析方法!

parse: function(response){

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

return response;
}

关于java - 无法渲染我返回的 Backbone 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19468834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com