已完成!
这是我的解决方案:
我使用Thymeleaf,所以可以在控制器中呈现页面。
我使用了一些我在网上找到的不同信息,但不记得它们全部,所以感谢和抱歉没有在这里放链接...
首先,我通过ajax将表单数据发送到控制器。在控制器中,我创建一个对象并将状态字段设置为SUCCESS或FAIL,如果失败,我返回设置错误信息的对象,如果成功,我设置一个字段为页面响应的html。因此,我将此对象(JSON)发送回客户端并分析字段。
以下是代码:
控制器:
@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);
}
这是全部内容!
String
(简单HTML无JSP标记),并将其作为JSON返回。
编辑:
请查看此Render Spring MVC to String or PDF Biju Kunjummen答案。