作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个通过 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/
我是一名优秀的程序员,十分优秀!