如何将片段传递给Thymeleaf

时间:2017-10-30 20:06:42

标签: thymeleaf

是否可以将片段传递给Thymeleaf中的消息表达式?我想重新使用片段在消息中创建链接。

我的片段看起来像这样:

<div th:fragment="link(url, text)" th:remove="tag">
   <a th:href="@{${url}}"><span>${text}</span></a>
</div>

我有这样的信息:

home.welcome=Hello User! See new content at {0}. 

现在我想将评估的片段传递给消息表达式(伪代码):

<p th:utext="#{home.welcome(${link:: link(url='myUrl', text='myText')})}"></p>

生成的HTML应如下所示:

<p>
    Hello User! See new content at <a href="myUrl"><span>myText</span></a>.
</p>

我发现Thymeleaf 3中引入了Fragment expressions,但我不确定它们是否可行。

1 个答案:

答案 0 :(得分:-1)

您可以尝试 th:

像这样调用片段

<div th:include="fragments/common :: link" th:with="url='www.google.com', text='Click Me'"></div>

这是你的片段

<div th:fragment="link" th:remove="tag">
    <a th:href="@{${url}}"><span th:inline="text">[[${text}]]</span></a>
</div>

这是您将获得的HTML

<div>
    <a href="www.google.com">
        <span>Click Me</span>
    </a>
</div>