当前位置: 首页 > 知识库问答 >
问题:

胸腺嘧啶核苷:th:每个,不包括任何特定值

陆仲渊
2023-03-14

我想知道是否可以做一个th:每个都有排他性

我是说。。。例如我们的数据库中有三个状态和模型{FREE,RESERVED,take}(Enum)。

我想做一个th:除了一个之外,每个状态都是这样的(在数据库中为特定对象选择的状态,我不想选择一个已经执行的选项)

除了我刚刚发明的这个例子之外,还有什么类似的东西吗?

<select>
<option th:each="i: ${state}" th:except="${i.RESERVED}" th:text="${i}" th:value="${i}" ></option>
</select>

所以我可以在这个上下文中使用它:

<tr th:each="spot : ${spots}">
  <td th:text="${spot.name}" th:value="${spot.id}"></td>
  <td>
    <select>
      <option th:each="i: ${state}" th:except="${spot.i}" th:text="${i}" th:value="${i}" ></option>
    </select>
  </td>
<tr>

我知道我可能可以在控制器中执行此操作,但我想知道是否有任何“th:东西”可以用于超快速和简单地执行此操作!

甚至还有一个“th:where”,我可以把它放在与th:each相同的标签中。。。。

共有2个答案

呼延光明
2023-03-14

哎呀,我一周前就解决了,我忘了评论我是怎么做到的。

这比我想象的要容易得多,我无法解释为什么,但Spring会自动完成很多事情。

这是我的控制器:

@GetMapping("/bajaAnimal")
public String pagBaja(Model model) {

    List<Spot> spotsList = repository.findAllSpotsByState(Status.RESERVED) //IF YOU FIND BY ONE STATUS, IT WILL EXCLUDE IT FROM OPTIONS!
    model.addAttribute("spots", spotsList);

    Status[] statusOptions = Status.values();
    model.addAttribute("statuses", statusOptions );

return "animales/bajaAnimal";
}

我的超文本标记语言:

<th:block th:each="spot: ${spots}">
    <select class="form-control" th:name="selectEstado" th:id="selectEstado" required>
        <option value="" selected="selected">Change status</option>
        <th:block th:each="i : ${statuses}">
            <th:block th:if="${i != spot.status}">
                <option th:value="${i}" th:text="${i}"></option>
            </th:block>
        </th:block>
    </select>
</th:block>
施宏大
2023-03-14

为此,您可以使用“th:除非”。举个例子:

<tr th:each="spot : ${spots}">
  <td th:text="${spot.name}" th:value="${spot.id}"></td>
  <td>
    <select>
      <option th:each="i: ${state}" th:unless="${spot == i}" th:text="${i}" th:value="${i}" ></option>
    </select>
  </td>
<tr>

从您的示例中,不清楚该变量是什么,因此我假设您想将spot的值与spot的值进行比较。

 类似资料:
  • 这是我的模板示例: 我收到了以下异常消息: 知道吗?

  • 问题内容: 使用“模板修饰而不是包含”技术时,如何检查Thymeleaf片段是否已定义? 在以下 template.html 示例中,我只希望在定义片段时呈现script标签 但是在我的使用上面模板的 index.html 中,没有定义脚本片段,但是script标签仍然会渲染 我尝试过但没有运气 问题答案: 我在Thymeleaf玩了一点(…),这是我的结论。 在下文中,我将使用任何给定的标签(,

  • 我正在尝试为我的站点使用th: each函数,以查找我数据库中的所有狗,并使用以下代码。在我的控制器中,我有: 在这个for循环之后,我对数组中的每个对象进行了println,并验证了我的所有dog对象都是有效的且不为null。在验证数组是否正确后,我将其作为模型传递,并尝试在html中获取它。当前的问题是,当我转到html时,它什么也不显示。我没有收到任何thymeleaf错误,只是一个空白屏幕

  • 我想把JavaScript onClick属性使用Thym立叶。 我这样写代码 此代码正在运行。当productName包含这样的特殊字符时,我会遇到问题 然后JavaScript函数看起来像这样 我需要从产品名称中转义双引号和单引号字符。我该怎么做?

  • 我想做一些像 在百里香叶中。我知道有一个价值观,我要做的就是 如何在Thyemleaf的select选项中传递两个值。

  • 我的PDF包含一个文本形式的带有连字符符号的URL。当我通过标记直接从PDF复制URL时,当连字符位于行的末尾时,符号在粘贴后消失。 我有以下html: 但复制粘贴后,我得到的url没有连字符:https://sec2mms.hansatonich.at/test.t.ozkq/ 我错过了什么?