我在一个Thymeleaf模板中的样式标签内设置CSS颜色变量。 颜色值来自模型对象。 我还想应用一个默认颜色,以防模型attirbute不在那里。
但是当我呈现模板时,Thymeleaf并不计算表达式,而是将整个表达式指定为字符串,而不是颜色值。
下面是我的风格标签。 我在Apache Freemarker中做过同样的事情,而且效果很好。 我对沉香树还是个新手,在这里我应该做些什么不同的事呢?
<style>
:root {
--primary-color: ${brandingConfig?.themeConfig?.primaryColor} ?: '#633EA5';
--secondary-color: ${brandingConfig?.themeConfig?.secondaryColor} ?: '#E9E6ED';
}
</style>
您可以在ThremeLeaf中使用三元运算符
<span th:text="${brandingConfig.themeConfig.primaryColor} ?: '#633EA5'}" th:remove="tag">
要打印纯文本,我们必须使用th:remove
标记。