java - 仅为特定用户向标签添加属性

标签 java thymeleaf

Thymeleaf View 中,仅当当前用户属于某个角色时,我才想向标记添加属性。

为具有 ROLE_USER 的用户生成的 html 应该是:

<paper-input readonly label="Mobile" value="[[info.user.gsm]]"></paper-input>

对于拥有 ROLE_ADMIN 的用户,它应该是:

<paper-input label="Mobile" value="[[info.user.gsm]]"></paper-input>

这怎么可能做到?

最佳答案

由于 Thymeleaf 对 boolean 属性的特殊处理,它非常简单:

<paper-input th:readonly="${#request.isUserInRole('USER')}" label="Mobile" value="[[info.user.gsm]]"></paper-input>

来自docs关于固定值 boolean 属性,其中 readonly 是其中之一:

The Standard Dialect includes attributes that allow you to set these attributes by evaluating a condition, so that if evaluated to true, the attribute will be set to its fixed value, and if evaluated to false, the attribute will not be set

关于java - 仅为特定用户向标签添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46557008/

相关文章:

java - 如何在thymeleaf中添加其他html文件,可以吗?

java - 如何根据数组中的项目填充矩形?

java - 在 Clojure 中写入文件

java - 如何知道是否有其他窗口使用相同的 JSESSIONID?

spring - 如何使用 Thymeleaf 将数据从单选按钮发送到 Controller

java - 我有一个登录页面和索引页面。我想从索引重定向到登录,但收到 404 not found

java - 在 servlet 中创建死锁的方法

java - jar 找不到方法的符号(但找到了其他类方法)?

java - 如何使用 thymeleaf 替换 html 中的文本

java - 如何在 spring mvc 中用 thymeleaf 填充一个简单的表