Я перебор списка и установив атрибут каждого div
shiro:hasPermission
как этогоThymeleaf Shiro диалект пользовательского выражение
<div th:each="element : ${elements}" shiro:hasPermission="${element.permission}">
<span th:text="${element.name}"></span>
</div>
где ${element.permission}
является строкой разрешения.
Диск не отображается, даже если пользователь имеет разрешение. Я попытался с помощью th:attr
так:
<div th:each="element : ${elements}" th:attr="shiro:hasPermission=${element.permission}">
<span th:text="${element.name}"></span>
</div>
До сих пор не работает. Я думаю, что использование shiro:hasPermission="${element.permission}"
не подходит. Как это исправить?
Я использую Spring MVC + Thymeleaf + Thymeleaf Shiro dialect.
сначала проверьте правильность отображения разрешений, например. sysout или отобразить их в браузере с помощью th: text = "$ {element.permision}. Возможно, они не отформатированы так, чтобы понять: может быть, вам нужно отформатировать его: shiro: hasPermission =" ' user: '+ $ {element.permission} ", поэтому он может выглядеть как" user: create " – Blejzer
@Blejzer Я проверил выражение, используя th: text =" $ {element.permission} ". Это работает отлично. знаете ли, что siro: hasPermission может правильно оценить выражение $ {element.permission} – faizi