Backbone.js + Spring MVC。保存模型

Posted

技术标签:

【中文标题】Backbone.js + Spring MVC。保存模型【英文标题】:Backbone.js + Spring MVC. Save model 【发布时间】:2012-01-25 11:25:33 【问题描述】:

当我从 JSP FORM 发送请求时,服务器端会自动将数据解析到我的 ModelObject。但是当我从 Backbone save() 发送请求时,我的 ModelObject 在服务器端是空的。我怎样才能像 JSP FORMs 那样做呢?

    @RequestMapping(value = "/member/ajax*", method = RequestMethod.POST)
    public void onSubmitAjax(Member member, HttpServletResponse response, HttpServletRequest request) throws Exception 
        //member is empty           
        memberManager.saveMember(member); 

    

当我使用 GET 时,它在客户端工作:

@RequestMapping(value = "/member/ajax*", method = RequestMethod.GET)
    public
    @ResponseBody
    Member showForm(@RequestParam(required = false) Long id, HttpServletRequest request) throws Exception 
        Member member = memberManager.getMember(id);
        return member;
    

【问题讨论】:

【参考方案1】:

我为 Backbone.JS Todo 示例应用程序写了一个Spring MVC 3.1 backend。 CRUD Controller的代码可能对你有所帮助。

根据您的代码示例,我认为您应该检查项目依赖项中是否包含 Jackson,并为您的 onSubmitAjax 方法使用以下注释:

@RequestMapping(method = RequestMethod.POST, consumes = "application/json",produces = "application/json") @ResponseStatus(HttpStatus.CREATED) @ResponseBody

您还应该尝试RESThub,这是一个不错的 Spring + Backbone.js 堆栈,提供了文档、教程和代码示例(免责声明:我是 RESThub 首席开发人员)。

【讨论】:

感谢 RESTHub 链接。看起来令人印象深刻,这正是我想要的【参考方案2】:

我也是 Backbone.js 的新手,但请查看 http://documentcloud.github.com/backbone/#Sync-emulateJSON。

【讨论】:

答案中的链接已失效(404 文件未找到

以上是关于Backbone.js + Spring MVC。保存模型的主要内容,如果未能解决你的问题,请参考以下文章

将服务器端 MVC 与 Backbone.js 相结合

Backbone.js快速入门

Backbone.js快速入门

js 基础 源码学习 backbone 源码阅读

比较Backbone.js, Angular.js, Ember.js, Knockout.js

初探Backbone