提问者:小点点

在Thymeleaf中从模型对象设置CSS变量


我在一个Thymeleaf模板中的样式标签内设置CSS颜色变量。 颜色值来自模型对象。 我还想应用一个默认颜色,以防模型attirbute不在那里。

但是当我呈现模板时,Thymeleaf并不计算表达式,而是将整个表达式指定为字符串,而不是颜色值。

下面是我的风格标签。 我在Apache Freemarker中做过同样的事情,而且效果很好。 我对沉香树还是个新手,在这里我应该做些什么不同的事呢?

<style>
  :root {
    --primary-color: ${brandingConfig?.themeConfig?.primaryColor} ?: '#633EA5';
    --secondary-color: ${brandingConfig?.themeConfig?.secondaryColor} ?: '#E9E6ED';
  }
</style>

共1个答案

匿名用户

您可以在ThremeLeaf中使用三元运算符

<span th:text="${brandingConfig.themeConfig.primaryColor} ?: '#633EA5'}" th:remove="tag">

要打印纯文本,我们必须使用th:remove标记。