3

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

谢谢你。

4

2 回答 2

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

如果您使用 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');
于 2012-07-03T02:31:44.963 回答
2

github 中有一个很有前途的项目,它有望做到这一点:

https://github.com/juhasipo/JMobster

于 2014-03-03T18:35:10.733 回答