从Spring Controller返回ModelAndView与DTO

时间:2014-11-24 18:43:34

标签: jquery ajax spring spring-mvc

我试图了解使用Spring Controller的结果呈现UI的最佳方法。通常,如果我不使用AJAX调用并使用来自控制器的响应呈现整个页面,则返回模型和视图。但每当我更新JSP的一部分时,我都会使用AJAX调用并使用@ResponseBody将响应作为DTO返回,并提取DTOs字段以插入HTML元素。

所以我的问题是从控制器发送响应的有效方法是什么,这样我就不必编写代码来插入HTML元素中的响应了?

2 个答案:

答案 0 :(得分:1)

@Bhaskara - 感谢您的建议。是的,我们绝对可以使用JSON作为响应。

但我的问题不同了。它关于返回视图inf AJAX调用,以便可以更新div的一部分。在编写简单的骨架应用程序后,我们似乎可以通过以下方式实现此目的:

  1. 使用div创建母版页。
  2. 创建单独的JSP页面以加载div。使用JSTL(或任何其他工具)
  3. 从控制器返回ModelAndView(带模态的JSP)。
  4. 在AJAX成功回调函数中使用JSP加载div。
  5. 希望其他人也能从这种方法中受益。

答案 1 :(得分:0)

您可以将application / json作为响应返回。作为Spring项目的一部分,在类路径中有Jackson库,然后将您的模型(DTO?)返回为@ ResponseBody。 Spring会自动将您的Model转换为json并将其作为HTTP响应返回(对您的AJAX调用)。 Javascript(特别是JQuery)对解析JSON

有很好的支持