【问题标题】:Thymeleaf use parameters as stringThymeleaf 使用参数作为字符串
【发布时间】:2021-08-10 20:41:57
【问题描述】:

我正在从 freemarker 切换到 thymeleaf,并且正在尝试学习一点。

目前我面临的问题是 thymeleaf 不允许我将参数用作字符串。因此,例如在 freemarker 中我可以这样做

<#if keywords??>
    <meta name="keywords"
          content="${keywords}">
</#if>

这将检查关键字变量是否存在,如果存在,它会将关键字的值放入内容中。我将如何在百里香中做到这一点?

我知道我可以检查变量是否存在

<meta th:if="${keywords != null}" name="keywords">

但是如何将关键字的内容放入内容中呢?

或者例如在freemarker中我可以做

<#include "/pages/"+file+".ftlh">

在百里香中,我知道我可以做一些事情

<div th:replace="/pages/index.html :: index"></div>

但是如果我想访问一个名为 file 的变量并将这些值注入到类似的东西中该怎么办

<div th:replace="/pages/${file}.html :: ${file}"></div>

另一个例子是假设我有一个段落。

你好 ${username} 你今天好吗?

如何在此处插入用户名的值?我知道我可以这样做

你好,你今天好吗?

这真的是唯一的方法吗?!

感谢您的澄清。我似乎找不到任何文章来解释如何做我上面提到的事情。来自 freemarker,这些东西看起来像是 thymeleaf 也应该有的东西。

【问题讨论】:

标签: spring-boot thymeleaf


【解决方案1】:

这确实是非常基本的 Thymeleaf(全部在文档中进行了解释)。对于关键字(属性):

<meta th:if="${keywords != null}" name="keywords" th:content="${keywords}">

对于段落文本(繁体):

<p>Hello <span th:text="${username}" /> how are you doing today? </p>

或内联

 <p>Hello [[${username}]] how are you doing today? </p>

替换文件的内容有点棘手,但语法相同:

<div th:include="~{${'/pages/' + file + '.html'} :: ${file}}"></div>

【讨论】:

  • 谢谢!!!这正是我想学的!!!它也很有教育意义!!!
猜你喜欢
  • 2019-11-17
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
  • 2017-02-02
  • 2012-11-07
相关资源
最近更新 更多