gpt4 book ai didi

java - Thymeleaf 多对多复选框列表

转载 作者:行者123 更新时间:2023-12-02 10:11:33 25 4
gpt4 key购买 nike

我正在将应用程序从 JSP 移植到 Thymeleaf。到目前为止,我已经找到了与我在 JSP 中所做的一切等效的东西,除了这个。我有一个与权限实体具有多对多关系的角色实体,这可能是一个非常典型的设置。在 JSP 中,我曾经能够编辑角色并将每个权限映射到一个复选框,如下所示:

<form:checkboxes element="li" items="${systemPermissions}" path="permissions" itemValue="id" itemLabel="name" id="systemPermissions"/>

这从模型中获取一个 List 对象,并通过相应地选中每个复选框来映射所有允许的权限。 super 简单, super 简洁,但不幸的是我没有找到用 Thymeleaf 来做到这一点的方法。

Thymeleaf 有没有办法动态创建复选框列表并将多对多关系映射到它?

谢谢!

最佳答案

这可以通过如下代码片段来完成(假设您将所有权限作为列表,将角色允许的权限作为模型中的映射):

<thbody>
<td>
<th:block th:each="p: ${AllPermissions}">
<input type="checkbox" name="perms" th:value="${p.id}"
th:checked="${#maps.containsKey(AllowedPermissionsForRole, p.id)}" /> <label th:text="${p.permissionsName}"></label>
</th:block>
</td>
</thbody>

顺便说一句,我将所有复选框放在一个表格单元格中,但您可以理解这个想法。我们只是迭代所有可用的权限,看看我们当前选择的角色的权限中是否有它。

关于java - Thymeleaf 多对多复选框列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54969711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com