【问题标题】:Thymeleaf fragments with parameterized input not working带有参数化输入的 Thymeleaf 片段不起作用
【发布时间】:2021-11-28 23:41:44
【问题描述】:

片段

    <div th:fragment="sort (label,field)">
        <label th:text="${label}"> Label
            <input th:name="'sort-' + ${field}" type="radio" value="asc"/>
            <input th:name="'sort-' + ${field}" type="radio" value="dsc"/>
        </label>
    </div>

用法

    <div th:replace="fragments/form.html :: sort(label = 'Name', field = 'name')"></div>

页面上显示的内容

    <label>Name</label>

【问题讨论】:

    标签: java servlets thymeleaf


    【解决方案1】:

    不要将&lt;input&gt; 元素放在&lt;label&gt; 元素中。

    当您在&lt;label&gt; 元素中使用th:text="${label}" 时,Thymeleaf 表达式的结果将替换&lt;label&gt;...&lt;/label&gt; 标记内的所有内容 - 包括嵌套的&lt;input&gt; 元素。这就是为什么你只能看到&lt;label&gt;Name&lt;/label&gt;

    标签通常使用for 属性与输入元素(或元素组)相关联。您可以在这个问题中阅读更多相关信息:

    Using the HTML 'label' tag with radio buttons

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 2021-12-25
      • 2014-04-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      • 2014-09-22
      相关资源
      最近更新 更多