【问题标题】:Thymeleaf: disabling a componentThymeleaf:禁用组件
【发布时间】:2025-12-14 15:35:01
【问题描述】:

我有一个基本的 SpringBoot 2.0.5.RELEASE 应用程序。使用 Spring Initializer、JPA、嵌入式 Tomcat、Thymeleaf 模板引擎,并将其打包为可执行的 JAR 文件。我有这个模板,我想根据条件禁用选择对象

<form id="menuFormId" class="form-style-9" action="#" th:action="@{/menu/save}" th:object="${menu}" method="post">
    <ul>
        <li th:each="e : ${#fields.detailedErrors()}" th:class="${e.global}? globalerr : fielderr">
            <span th:text="${e.global}? '*' : ${e.fieldName}" ><b>The field name</b></span> : <span th:text="${e.message}" class="red">
                <font color="red">The error message</font>
            </span>
        </li>
    </ul>
    <ul class="tab_form">
        <li>        
            <select id="selectMenuId" th:field="*{resto}" th:classappend="${menu.id == null} ?  disabled='disabled'">
                <option value="0">PLEASE SELECT A MENU</option>
            </select>
...

但是我收到了这个错误:

Could not parse as expression: "${menu.id == null} ?  disabled='disabled'"

【问题讨论】:

    标签: html thymeleaf


    【解决方案1】:

    呃,有两个问题:

    1.) disabled 是一个属性而不是一个类。因此,使用下面的sn-p:

    th:disabled="${menu.id == null}"
    

    2.) 你不能定义一个类 disabled='disabled'。

    第二个问题并不重要。不需要这样的类定义。

    【讨论】: