仅为特定用户添加标记属性

时间:2017-10-04 04:27:02

标签: java thymeleaf

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

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>

怎么可能这样做?

1 个答案:

答案 0 :(得分:1)

由于Thymeleaf对布尔属性的特殊处理,这很简单:

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

关于固定值布尔属性的docs,其中readonly就是其中之一:

  

标准方言包含允许您设置这些属性的属性   通过评估条件来定义属性,以便在评估为true时   该属性将设置为其固定值,如果计算为   false,该属性不会被设置