Thymleaf ,使用 jQuery 加载片段 [英] Thymleaf , loading fragments using jQuery
问题描述
这些天我正在用 Spring 检查 Thymeleaf.我遇到了一个关于片段的问题.我已经使用 @Controller
编写了一个 Spring 控制器,下面有一个方法 @PostMapping
是方法
I'm checking Thymeleaf with Spring these days. I came across a question on fragments. I've written a Spring controller using @Controller
and there is a method @PostMapping
below is the method
@PostMapping(value="/xxx/yyy/add",consumes="application/json",produces="application/json")
public @ResponseBody AModel addMethod(@Valid @RequestBody AModel aModel, BindingResult bindingResult)
我使用 $.ajax
方法将数据 POST 到/xxx/yyy/add URL.JSON 被映射到 AModel 对象并且它可以工作.但我返回一个 AModel
对象作为 json 响应.不是提到百里香片段的字符串.我试图重新加载的百里香片段包含一个数据表.有人能指出我如何做到这一点的正确方向吗?谢谢.
I've used $.ajax
method to POST data to /xxx/yyy/add URL. JSON is mapped ith the AModel object and it works. But I'm returning an AModel
object as json response. Not a string mentioning the thymeleaf fragment. The thymeleaf fragment I'm trying to reload contains a table of data. Could someone point me at the right direction of how this could be done? thanks.
推荐答案
试试这个.
@RequestMapping(value = "/abc", method = RequestMethod.GET, produces = "application/json")
private ResponseBody test( HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse )
{
Response response = new Response<String>();
WebContext webContext = new WebContext( httpServletRequest, httpServletResponse, servletContext );
response.setData( generateTemplate( webContext, viewResolver, "fragmentpath") );
response.setMessage( "Success" );
response.setStatus(SUCCESS );
return response;
}
public static String generateTemplate( WebContext ctx, ViewResolver viewResolver, String baseTemplate)
{
TemplateEngine engine = ( ( ThymeleafViewResolver ) viewResolver ).getTemplateEngine();
String renderedHtml = engine.process( baseTemplate, ctx );
return renderedHtml;
}
这篇关于Thymleaf ,使用 jQuery 加载片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!