如何使用Thymeleaf动态设置HTML元素的id属性

时间:2016-03-01 12:09:35

标签: html spring rest thymeleaf

假设我有一个对象:$ {object}

我有以下表格:

<form id="{{'myForm' + object.id}" class="some class"
      th:action="@{/doSomething}" method="post">
    ....
</form>

我的目标是设置id =&#34; myForm1&#34;如果我们假设object.id是&#39; 1&#39;。

PS:我写它的方式是在研究Angular JS。

3 个答案:

答案 0 :(得分:39)

你必须使用th:id属性:

<form th:id="'myForm' + ${object.id}" class="some class" th:action="@{/doSomething}" method="post">
// *** Other code here ***
</form>

答案 1 :(得分:0)

这里是如何在标签上使用动态ID:

        <th:block th:with="randomId=${#strings.randomAlphanumeric(10)}">
            <input type="checkbox" th:id="${randomId}">
            <label th:for="${randomId}"></label>
        </th:block>

答案 2 :(得分:0)

还有另一种(不错的)方法可以做到这一点。

假设您正在迭代如下所示的项目列表,您可以使用以下 th:id 来设置使用被迭代项目的索引的 id。

<th:block th:each="item : ${list}">
  <div class="tab-pane active" th:id="@{|#div-id-${itemStat.count}|}"></div>
</th:block>

此示例在 <div> 上设置 ID。请注意,itemStat 是一个固定名称,将迭代器名称设为 item