【问题标题】:thymeleaf expression in title tag doesn't get evaluated标题标签中的百里香表达式未得到评估
【发布时间】:2014-02-26 03:49:45
【问题描述】:

我正在尝试根据域模型是新的还是现有的来更改我的网页标题。该表达式适用于页面上的其他任何地方,但不适用于

这是我所拥有的:

<title th:text="${myobject['new']} ? 'Creating New' : 'Updating'">[Template Title]</title>

我在页面中有相同的表达式(复制和粘贴),效果很好:

<span th:text="${myobject['new']} ? 'Creating New' : 'Updating'">[Template Title]</span>

但是在标题标签中它不起作用

我也尝试过使用 th:if th:unless:

<title th:if="${myobject['new']}">Creating New</title>
<title th:unless="${myobject['new']}">Updating</title>

我稍后也会在页面中使用它来显示不同的提交按钮。我只是想不通为什么标题标签的行为不同。

另外,我正在使用 Ultraq 布局,这是原因的一部分。该表达式在不使用布局模板的模板上进行计算。

【问题讨论】:

    标签: title thymeleaf


    【解决方案1】:

    在我看来,? 符号之前没有比较。我设法使用以下代码更改标题:
    控制者:

    @RequestMapping({"/site"})
        public String showSite(final ModelMap modelMap) {
            modelMap.addAttribute("parameter", null);
            return "site";
        }
    

    html:

    <title th:text="${parameter != null} ? 'Parameter is null' : 'Its NOT null!'">this will be replaced anyway...</title>
    

    所以也许可以尝试将myobject['new'] 与某些东西(例如null)进行比较。

    HTH

    【讨论】:

    • 我添加了我测试并得到-1的代码。你能解释一下原因吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 2017-06-29
    • 2021-03-21
    相关资源
    最近更新 更多