从 Thymeleaf 调用并加载 Spring MVC 控制器请求方法
Posted
技术标签:
【中文标题】从 Thymeleaf 调用并加载 Spring MVC 控制器请求方法【英文标题】:Invoke and load Spring MVC controller request method from Thymeleaf 【发布时间】:2018-02-04 10:37:08 【问题描述】:我正在使用 Spring Boot 1.5.4 (Spring MVC) 和 Thymeleaf 3.0.6 (Layout Dialect 2.2.2)
假设我使用一个输出 html A 的 Thymeleaf 模板(模板 A)从 Spring MVC 控制器方法渲染模型。
是否可以从模板 A 中调用/调用另一个 Spring MVC 控制器方法(然后将使用不同的 thymeleaf 模板渲染模型)输出 HTML B,并将渲染结果加载到 HTML A 中?
类似于 struts2 动作标签对 executeResult=true 参数所做的事情。 https://www.tutorialspoint.com/struts_2/struts_action_tag.htm
我研究了 thymeleaf 的包含和替换,但它们似乎只适用于加载 html 片段而不是整个 Spring MVC 请求
【问题讨论】:
【参考方案1】:您可以尝试向 Spring MVC 控制器方法发出 AJAX 请求,该方法将返回模板 B。
然后,一旦获得响应,您就可以将响应设置为 DOM 中现有的 html 元素,例如:
$.get("your_end_point", function(data, status)
document.getElementById("your_template_B_Container_DIV_ID").appendChild(data);
);
这只是一个猜测,还请记住,如果您使用body
、head
...标签。例如,您可以尝试仅使用 div
标记制作的模板,并查看是否可以渲染它。
【讨论】:
谢谢,但我希望在 thymeleaaf 级别的服务器上完成这一切。我知道我可以用 ajax 编写我的 html,正在研究在服务器上编写完整的 html。以上是关于从 Thymeleaf 调用并加载 Spring MVC 控制器请求方法的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Spring Boot thymeleaf 加载图像
Thymeleaf 内联 javascript spring bean 使用文本模板模式检查 null
使用 thymeleaf、spring boot 的动态下拉菜单