【问题标题】:Returing ModelAndView vs DTO from the Spring Controller从 Spring 控制器返回 ModelAndView 与 DTO
【发布时间】:2014-11-24 18:43:33
【问题描述】:

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

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

【问题讨论】:

    标签: jquery ajax spring spring-mvc


    【解决方案1】:

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

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

    1. 使用 div 创建母版页。
    2. 创建单独的 JSP 页面以加载到 div。使用 JSTL(或任何其他工具)来
    3. 从控制器返回 ModelAndView(带模态的 JSP)。
    4. 在 AJAX 成功回调函数中使用 JSP 加载 div。

    希望其他人也能从这种方法中受益。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-11
        • 2015-10-31
        • 2015-11-05
        • 2017-02-19
        • 1970-01-01
        • 1970-01-01
        • 2011-05-24
        相关资源
        最近更新 更多