当前位置: 首页 > 知识库问答 >
问题:

无法从Thymeleaf中的模型对象设置默认CSS变量

宋嘉禧
2023-03-14

我在Thymeleaf模板中的样式标记内设置CSS字体变量。字体值来自模型对象。我还想应用默认颜色,以防模型attirbute不存在。我使用elvis运算符选择默认值elvis运算符链接

但是当我呈现模板时,它会搜索brandingConfig,然后是themeConfig,然后是fontName,但fontName在themeConfig中不存在。因此,它不会选择默认值,而是抛出一个错误。下面是我得到的错误

org.thymeleaf.exceptions.TemplateProcessingException:异常评估SpringEL表达式:"brandingConfig?. themeConfig?. fontName"。

org.springframework.expression.spel。SpelEvaluationException:EL1008E:在“java.util”类型的对象上找不到属性或字段“fontName”。LinkedHashMap”-可能不是公共的或无效的?

下面是我的风格标签。我是新手,在这里我应该做什么不同?

<style th:inline="text">
:root {
    --font-name: [[${brandingConfig?.themeConfig?.fontName}?: 'Proxima Nova']];
    --font-url: [[${brandingConfig?.themeConfig?.fontUrl}?: 'https://fonts.googleapis.com/css?family=Proxima+Nova']];
}

共有1个答案

微生耘豪
2023-03-14

If适用于以下表达式:

<style th:inline="text">
:root {
    --font-name: [[${brandingConfig?.themeConfig?.get('fontName')}?: 'Proxima Nova']];
    --font-url: [[${brandingConfig?.themeConfig?.get('fontUrl')}?: 'https://fonts.googleapis.com/css?family=Proxima+Nova']];
}
</style>

我不知道确切的原因,但我认为这与安全导航操作员使用地图键的方式有关。。。

 类似资料:
  • 我正在使用Thymeleaf作为模板引擎。我如何将一个变量从Spring模型传递到JavaScript变量? Spring侧:

  • 问题内容: 我正在使用Thymeleaf作为模板引擎。如何将变量从Spring模型传递给JavaScript变量? Spring-side: Client-side: 问题答案: 根据官方文件:

  • 我正在使用JsonConvert。反序列化对象(json.ToString());反序列化JSON并在相关模型中填充我的字段。在JSON中缺少数据之前,这一切都很好。基本上,我将只使用“key:null”,而不是“key:value”。 我对JsonConverter的理解是,它将创建一个对象,在这个对象中,我应该能够通过构造函数(在我的情况下,由于未知原因没有调用)或通过这里提到的标记(JSON

  • 行动时刻 - 设置变量的默认值 我们并不总是确定变量是否存在。 Unlang为我们提供了语法,以便在变量不存在时指定默认值。 我们将再次通过修改上一个练习来证明这一点。 我们将使用radtest首先在请求中包含Framed-Protocol = PPP,并将其排除在外。 如果Framed-Protocol AVP不存在,我们将返回一个默认字符串。 编辑FreeRADIUS配置目录下的sites-a

  • 问题内容: 有没有一种方法可以设置javascript对象的默认属性,例如: IE可以忽略,Chrome Frame减轻了我的头痛。 问题答案: 自从几年前我问这个问题以来,事情进展顺利。 代理是ES6的一部分。以下示例可在Chrome,Firefox,Safari和Edge中运行:

  • TS2322:类型{}不可分配给类型“T”。