thymeleaf中的th:remove用法

一.删除模板片段使用th:remove属性

th:remove的值如下:

  1.all:删除包含标签和所有的孩子。

  2.body:不包含标记删除,但删除其所有的孩子。

  3.tag:包含标记的删除,但不删除它的孩子。

  4.all-but-first:删除所有包含标签的孩子,除了第一个。

  5.none:什么也不做。这个值是有用的动态评估。

<table>
  <tr>
    <th>NAMEth>
    <th>PRICEth>
    <th>IN STOCKth>
    <th>COMMENTSth>
  tr>
  <tr th:each="prod : ${prods}" th:class="${prodStat.odd}? 'odd'">
    <td th:text="${prod.name}">Onionstd>
    <td th:text="${prod.price}">2.41td>
    <td th:text="${prod.inStock}? #{true} : #{false}">yestd>
    <td>
      <span th:text="${#lists.size(prod.comments)}">2span> comment/s
      <a href="comments.html" 
         th:href="@{/product/comments(prodId=${prod.id})}" 
         th:unless="${#lists.isEmpty(prod.comments)}">viewa>
    td>
  tr>
  <tr class="odd" th:remove="all">
    <td>Blue Lettucetd>
    <td>9.55td>
    <td>notd>
    <td>
      <span>0span> comment/s
    td>
  tr>
  <tr th:remove="all">
    <td>Mild Cinnamontd>
    <td>1.99td>
    <td>yestd>
    <td>
      <span>3span> comment/s
      <a href="comments.html">viewa>
    td>
  tr>
table>

结果为:

<table>
  <tr>
    <th>NAMEth>
    <th>PRICEth>
    <th>IN STOCKth>
    <th>COMMENTSth>
  tr>
  <tr>
    <td>Fresh Sweet Basiltd>
    <td>4.99td>
    <td>yestd>
    <td>
      <span>0span> comment/s
    td>
  tr>
  <tr class="odd">
    <td>Italian Tomatotd>
    <td>1.25td>
    <td>notd>
    <td>
      <span>2span> comment/s
      <a href="/gtvg/product/comments?prodId=2">viewa>
    td>
  tr>
  <tr>
    <td>Yellow Bell Peppertd>
    <td>2.50td>
    <td>yestd>
    <td>
      <span>0span> comment/s
    td>
  tr>
  <tr class="odd">
    <td>Old Cheddartd>
    <td>18.75td>
    <td>yestd>
    <td>
      <span>1span> comment/s
      <a href="/gtvg/product/comments?prodId=4">viewa>
    td>
  tr>
table>

最后两行被删除了。

二.th:remove属性可以采取任何Thymeleaf标准表达式,只要允许它返回一个字符串值(alltagbodyall-but-first or none)。

  这意味着删除可能是有条件的:

<a href="/something" th:remove="${condition}? tag : none">Link text not to be removeda>

th:remove 把null 等同于 none,所以下面和上面的其实是一样的:

<a href="/something" th:remove="${condition}? tag">Link text not to be removeda>

因此,如果${condition} is 是false,将返回null,因此没有删除会被执行。

 

转载于:https://www.cnblogs.com/suncj/p/4030975.html

你可能感兴趣的:(thymeleaf中的th:remove用法)