【问题标题】:AJAX with Spring MVCAJAX 与 Spring MVC
【发布时间】:2012-06-05 07:49:57
【问题描述】:

哪些 AJAX 库适用于 Spring MVC?

我是使用 Spring 和 Spring MVC 开发的新手。从 http://www.springsource.org 的文档中,我还不了解 Spring MVC 内置了哪些 AJAX 框架,或者建议哪些第三方 API 和工具可以很好地用于开发 Spring MVC 应用程序。

感谢所有建议。

我确实搜索过之前关于这个主题的 SO 讨论,但我没有得到任何明确的方向。

【问题讨论】:

    标签: java ajax spring web-applications spring-mvc


    【解决方案1】:

    这是让 Spring MVC 使用 ZK UI 组件的另一种方法 - Rich Web Application with Spring MVC CRUD Demo

    在那篇文章中,它使用 Spring MVC 控制器与 ZK UI 组件进行通信。 (全部用 Java 代码)

    【讨论】:

      【解决方案2】:

      请通过以下链接。它清楚地说明了需要如何完成。

      http://blog.springsource.org/2010/01/25/ajax-simplifications-in-spring-3-0/

      【讨论】:

        【解决方案3】:

        Spring 本身并不处理 Javascript 框架。我不知道 Springsource 是否支持任何特定的 Javascript 框架,或者它们是否不可知论。 Ajax 实际上只是一种由浏览器技术结合 Javascript 语言实现的技术,重要的是能够在客户端和服务器之间传递某种序列化数据。编写自己的基本 AJAX 框架并不难,甚至可以设计自己的数据编码而不使用 JSON 或 XML。采用现有的框架和标准是明智的,因为您不想维护大量辅助代码或担心它,而是专注于您要解决的问题。这就是为什么有许多 Javascript 框架可以执行异步请求,并且有些框架具有一些非常好的特性和功能,可以让您的生活更轻松,例如 jQuery 提供了出色的 DOM 操作和与浏览器无关的功能。我认为将 Spring MVC 与服务器端的 Jackson JSON 库和客户端的 jQuery 结合使用是非常体面的端到端解决方案的基础。我在 jQuery 和 jQuery-UI 方面取得了很大的成功,但其他 Javascript 框架也可以正常工作。对于复杂的应用程序,您基本上最终需要相当于客户端的第二个 MVC,因为您需要 UI 小部件之间的分解以及必须在客户端和服务器之间移动的数据。

        【讨论】:

          【解决方案4】:

          Spring JS 支持 Dojo JavaScript 框架。 Spring Js

          【讨论】:

          • 感谢您提供的信息和链接。我只是匆匆在文档中寻找“AJAX”,而不是简单地寻找“JavaScript”。 (虽然我现在看到“AJAX”在文档中。我不知道我以前是怎么错过的。)
          【解决方案5】:

          Spring 非常容易与 Ajax 一起使用。如果 Jackson 在 classpath 上,Spring 可以使用它将 JSON 返回给调用者。像这样的:

          @RequestMapping( "/my/path" )
          public @ResponseBody MyObject doSomething( @RequestParam Long myVal ) {
              MyObject result = new MyObject( myVal );
              // do something interesting
              return result;
          }
          

          然后您可以使用 jQuery(或您喜欢的其他 javascript 库)向http://myserver/my/path 发出请求并处理生成的 JSON 对象。

          Google 的 GSON 也很容易使用。如:

          @RequestMapping( "/my/path" )
          public ResponseEntity<String> MyObject doSomething( @RequestParam Long myVal ) {
              MyObject result = new MyObject( myVal );
              // do something interesting
              HttpHeaders headers = new HttpHeaders();
              headers.set(  "Content-Type", "application/json" );
              String json = gson.toJson( result );
              return new ResponseEntity<String>( json, headers, HttpStatus.CREATED );
          }
          

          【讨论】:

          • 感谢您的详细回复和示例。
          猜你喜欢
          • 2011-11-06
          • 2011-12-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-07
          • 2015-01-04
          相关资源
          最近更新 更多