Thymeleaf包含具有自己的控制器的模板

时间:2017-02-08 09:33:38

标签: java spring thymeleaf

我试图将相同的html包含在各种页面中。此模板是一个显示数据库数据的表。我知道Thymeleaf有片段,但据我所知,我不能包含一个带有自己的控制器的片段,我的模板需要这样才能检索到必要的数据。

我见过this question,但是这个模板可以在同一页面上多次调用,并且向模型添加许多属性似乎不是正确的解决方案(更不用说属性名称需要是独特)。

有没有办法在Thymeleaf中包含这个模板,所以它有自己的控制器与它所包含的页面分开。

2 个答案:

答案 0 :(得分:1)

我使用的方法是我称之为"基于服务的渲染" :)

背后的想法是通过@someService利用spring bean集成。

您可以使用模型,请求映射,模板或片段参数或任何可以获取参数的参数来调用任何bean,而不是填充Model

小例子:

<div th:each="someVar : ${@someService.getData(someParameter)}" th:text="${someVar}">Template Text</div>

答案 1 :(得分:0)

不,单凭百里香只是不可能的。每页一个控制器。

只需添加所有属性即可。您可以在模型上放置一个集合 - 列表或地图 - 并将您的片段索引到其中以获取其数据。 (您可以将参数传递给片段。)

那个或javascript解决方案。