带有参数化输入的 Thymeleaf 片段不起作用
Thymeleaf fragments with parameterized input not working
片段
<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>
不要将 <input>
元素放在 <label>
元素内。
当您在 <label>
元素中使用 th:text="${label}"
时,Thymeleaf 表达式的结果将替换 <label>...</label>
标签内的 一切 - 包括嵌套的 <input>
元素。这就是为什么你只看到 <label>Name</label>
.
标签通常使用 for
属性与输入元素(或元素组)相关联。您可以在这个问题中阅读更多相关信息:
Using the HTML 'label' tag with radio buttons
片段
<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>
不要将 <input>
元素放在 <label>
元素内。
当您在 <label>
元素中使用 th:text="${label}"
时,Thymeleaf 表达式的结果将替换 <label>...</label>
标签内的 一切 - 包括嵌套的 <input>
元素。这就是为什么你只看到 <label>Name</label>
.
标签通常使用 for
属性与输入元素(或元素组)相关联。您可以在这个问题中阅读更多相关信息:
Using the HTML 'label' tag with radio buttons