我有一个名为 Person.java 的 POJO,是否有任何 bash 或实用程序允许我从 Person.java 创建一个名为 person.js 的主干模型,这样我就不必再次重新键入所有字段?
谢谢你。
我有一个名为 Person.java 的 POJO,是否有任何 bash 或实用程序允许我从 Person.java 创建一个名为 person.js 的主干模型,这样我就不必再次重新键入所有字段?
谢谢你。
如果您使用 Jackson JSON 处理器http://jackson.codehaus.org/将 POJO 模型代码转换为 JSON,则不必重新创建 Backbone 模型上的任何属性。一个简单的例子:
public String getPerson(){
Person personPOJOInstance = new Person();
ObjectMapper mapper = new ObjectMapper();
StringWriter sw = new StringWriter();
try{
mapper.writeValue(sw, personPOJOInstance);
pojoJSON = sw.getBuffer().toString();
}
catch(IOException exc){
}
return pojoJSON;
}
如果您使用 Spring MVC 控制器并使用以下 @RequestMapping 注释标记您的控制器方法,您甚至不必担心这样做,如下所示:
@RequestMapping(method= RequestMethod.GET, produces = "application/json", value="/path/to/controller/method")
public @ResponseBody getPerson(){
return new Person();
}
最后,您的主干模型非常简单:
var Person = Backbone.Model.extend({
url: '/path/to/controller/method'
});
您不需要在 Backbone 模型上指定任何默认属性,尽管这样做可能是个好主意。
现在,当您获取模型时,您可以访问来自 Backbone 模型上原始 POJO 的任何属性,如下所示:
//instantiate and fetch your model.
var person = new Person();
person.fetch();
...
//access properties on your model.
var name = person.get('name');
github 中有一个很有前途的项目,它有望做到这一点: