java - 如何将 Spring MVC View 呈现为字符串

标签 java jquery ajax json spring-mvc

我有一个通过 ajax 发送到 Controller 的表单。在那个 Controller 中,输入被验证,并返回一个 json 对象。

如果有错误,我会在该 json 对象中返回一个值为“FAIL”的属性(字符串),以便我可以在客户端对其进行分析。

我想做的是呈现一个 View ,并将其作为字符串属性放入该 json 对象中,这样当没有错误(成功)时,我可以使用呈现的 html 设置一个 div查看。

我该怎么做?

有更好的方法吗?

最佳答案

完成了!

这是我的解决方案:

我使用了 thymeleaf,所以我可以在我的 Controller 中呈现页面。

我使用了我在网上找到的不同信息的某些部分。.没有记住它们,所以感谢并抱歉没有把链接放在这里....

首先,我通过 ajax 将表单数据发送到 Controller 。在 Controller 中我创建一个对象并将状态字段设置为失败的成功,如果失败我返回设置我的对象的错误信息,如果成功我将一个字段设置为我的页面响应的 html。所以我将这个对象发送回客户端 (JSON) 并分析字段。

下面是代码:

Controller :

@RequestMapping(value = "/calcdireto.json", method = RequestMethod.POST)
public @ResponseBody CalcDiretoResponse processFormAjaxJson(Model model,
    @ModelAttribute(value = "formBean") @Valid CalcDiretoFormBean cdBean,
    BindingResult result) {
CalcDiretoResponse res = new CalcDiretoResponse();
if (!result.hasErrors()) {
      res.setValStatus("SUCCESS");
      final WebContext ctx = new WebContext(request,servletContext,request.getLocale());
      res.setHtml(this.templateEngine.process("subpage", ctx));     
      return res;
}   ...

在页面中:

if (response.valStatus == 'SUCCESS') {
   $("#pp-result").html(response.htm);
 }

就是这样!

关于java - 如何将 Spring MVC View 呈现为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18958201/

相关文章:

java - 在 spring 中使用 .properties 而不使用 xml 配置

java - 事件错误,不确定它们的含义

java - 两个排序数组中与 x 最接近的对和

php - 将 php 数组传递给 jquery 函数

javascript - 添加新数据时自动刷新另一个页面 Laravel 5.8 Ajax

javascript - 使用 Javascript AJAX(不是 jQuery)提交嵌入式 Mailchimp 表单

java - 在多线程代码中的两个表中存储相同的 ID

c# - 使用 Ajax 以 guid 作为键的 .NET MVC 字典绑定(bind)问题

javascript - 动态改变元素的宽度和高度?

java - 在 apache wicket 中使用 ajax 显示面板