我想在Bootstrap 4应用程序中创建一个表示表单元素的Thymeleaf片段。
我在使用片段的模板中以这种方式定义片段:(th:if是为了防止片段在其定义时呈现)
<div class="form-group row" th:fragment="inputSelect(display, name, options)" th:if="${name}">
<label th:for="${#ids.next('formfield')}" class="col-sm-2 col-form-label" th:text="${display}"></label>
<div class="col-sm-4">
<select th:id="${#ids.seq('formfield')}" class="custom-select" th:name="${name}" th:insert="${options}">
</select>
</div>
</div>
然后在我的表单中,我以这种方式引用该片段:
<select id="formatSelect" th:replace="::inputSelect('Format', 'format', ~{::#formatSelect/option})">
<option value="" selected>HTML</option>
<option value="json">JSON</option>
</select>
是否有一种方法可以在我使用th:replace的元素中仅选择选项标签,而不必在这种情况下不得不给选择一个未使用的ID(“ formatSelect”)“麻烦”?
除了将片段放入单独的模板文件之外,奖励是否还可以删除th:if片段定义上的th:if(我不希望片段本身呈现)?