我有一个Web服务,它返回文档列表和列表大小。 我在Web服务中的方法如下所示:
public PaginatedJaxbList<DocumentDTO> listDocuments(String currentPage, String name) {
List<DocumentDTO> docs= getDocsManager.getDocs(currentPage, name);
int size = getDocsManager.getDocsSize();
PaginatedJaxbList<DocumentDTO> docList = new PaginatedJaxbList<DocumentDTO>(docs, size);
return docList;
}
此方法由其他Web服务调用,如下所示:
@WebService
@Path("/docs")
public interface docService {
@GET
@Path("/")
@Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8")
public PaginatedJaxbList<DocumentDTO> listDocs(@QueryParam("p") String currentPage, @QueryParam("name") String name);
}
现在我从主干集合中的解析函数解析Web服务的响应:
Entities.DocumentCollection = Backbone.Collection.extend({
url : "../services/api/docs",
model : Entities.Document,
comparator : "name",
parse : function(data) {
// Here i need to return both params the size and the list
//return data.size;
//return data.list;
}
});
在解析函数中,我需要获取要显示的列表的两个参数以及动态分页需要的大小。
我该怎么做?
答案 0 :(得分:0)
Collections parse方法应该返回一个对象数组,将创建一个对应于数组中每个项目的模型,或者一个对象,在这种情况下将创建单个模型。
所以你应该只返回数组,但你可以将其他属性附加到集合中,以便稍后访问,如下所示:
Entities.DocumentCollection = Backbone.Collection.extend({
url : "../services/api/docs",
model : Entities.Document,
comparator : "name",
parse : function(data) {
this.size = data.size; // add size as a collection property
return data.list; // return the list from which models should be populated
}
});