如何从POJO或JavaBean创建Backbone模型?

Mau*_*ras 3 java model-view-controller utility pojo backbone.js

我有一个名为Person.java的POJO,是否有任何bash或实用程序允许我从Person.java 创建一个名为person.js 的Backbone模型,所以我不必再次重新键入所有字段?

谢谢.

bra*_*ye3 5

如果您使用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;
}
Run Code Online (Sandbox Code Playgroud)

如果您正在使用Spring MVC控制器并使用以下@RequestMapping注释标记您的控制器方法,您甚至不必担心这样做,如下所示:

@RequestMapping(method= RequestMethod.GET, produces = "application/json", value="/path/to/controller/method")
public @ResponseBody getPerson(){
    return new Person();
}
Run Code Online (Sandbox Code Playgroud)

最后,您的骨干模型非常简单:

var Person = Backbone.Model.extend({
    url: '/path/to/controller/method'
});
Run Code Online (Sandbox Code Playgroud)

您不需要在Backbone模型上指定任何默认属性,尽管这样做可能是个好主意.

现在,当您获取模型时,您可以访问Backbone模型上来自原始POJO的任何属性,如下所示:

//instantiate and fetch your model.
var person = new Person();
person.fetch();
...
//access properties on your model.
var name = person.get('name');
Run Code Online (Sandbox Code Playgroud)