当前位置: 首页 > 面试题库 >

Spring MVC-AJAX-JSON响应以包含呈现的JSP视图

蓝逸仙
2023-03-14
问题内容

我需要我的控制器返回包含更新的HTML代码的AJAX JSON响应。

通过渲染JSP视图来创建更新的HTML代码。

例如:JSP:

<tr>
<td>${data1}</td>
<td>${data2}</td>
</tr>

JSON响应:

{"columns" : "2", "rows":"1", "data":rendered view}

目前,我正在尝试使用“我自己的”输出流创建一个虚拟响应,并将呈现的视图内容放入json响应中,但是没有运气。

除了我无法使用此解决方案的事实之外,感觉不对。有关正确方法的任何提示?

谢谢Ori


问题答案:

如果您要捕获的视图位于中/WEB-INF/views/my.jsp,则调用

request.getRequestDispatcher("/WEB-INF/views/my.jsp").include(request, myResponse);

其中myResponse要么是HttpServletResponseWrapper您创建的,要么是Spring
MockHttpServletResponse。在后一种情况下,您可以从getContentAsString()获取呈现的输出。

在下面编辑

我遇到了另一个有关捕获servlet响应的问题,该响应包含一些可以使用的HttpServletResponseWrappers指针。

看起来不错的两个实现:

  1. DWR SwallowingHttpServletResponse
  2. Sitemesh PageResponseWrapper

请享用,



 类似资料:
  • 问题内容: 到目前为止,我已经想通了如何返回Zend框架2.首先一个典型的JSON响应,我加入到了部分配置。然后,我返回一个设置了所有变量的实例,而不是从控制器操作中返回实例。 现在,我已经弄清楚了这一点,我需要了解如何呈现视图并在该JSON响应中返回它。在ZF1中,我能够使用,将HTML作为字符串返回。在ZF2中,该方法返回。 那么…如何呈现HTML视图脚本,并在一个请求中以JSON响应返回它?

  • 问题内容: 好的,很简单的问题,我正在使用一种AJAX方法,它的作用是通过查询在数据库中搜索特定信息。我可以在控制台中看到正在查询,甚至可以在Chrome开发者控制台中看到“发布”,当我单击它时,可以看到要显示的HTML,但是我不知道如何在页面中显示红外线。 :3000 /已经有我要显示的html,但是我该如何更新呢? 我展示的方式是这样的… @itemsok是我从查询保存项目的变量。 谢谢,我想

  • 我试图通过Ajax调用将jsp页面包含在另一个页面中。问题是,如果要包含的页面在html元素之间有一些空格,它将使插入失败。 例如,下面是我的演示index.jsp: 下面是要包含的 hello.jsp 页面(元素标记之间没有空格,否则包含将失败): 而这个 servlet 只有一个什么都不做(目前)doGet 方法。 对你们所有人来说都是一样的吗?我的代码有问题吗?是否有其他工作方式来完成相同的

  • 本文向大家介绍Springmvc ResponseBody响应json数据实现过程,包括了Springmvc ResponseBody响应json数据实现过程的使用技巧和注意事项,需要的朋友参考一下 该注解用于将 Controller 的方法返回的对象,通过 HttpMessageConverter 接口转换为指定格式的数据如:json,xml 等,通过 Response 响应给客户端 示例 需求

  • 问题内容: 现在我有这行: 但是,由于程序属于公司,我想显示公司名称而不是公司ID。 渲染程序时如何包括公司名称? 问题答案: 这样的事情应该起作用:

  • 问题内容: 哪种方法更快,要返回JSON中的ajax,然后处理JSON响应以呈现html,或者只是将Ajax响应中的原始html放在一堆中呢? 问题答案: 要看。在这两种情况下,服务器都只是返回带有文本的响应。如果响应的JSON版本比HTML版本需要更多字符,则该响应将需要更长的时间才能传输回客户端,反之亦然。 但是,当然还有服务器端脚本必须完成其工作。在您的情况下,从服务器端脚本生成JSON可能