我有一个用户实体:
@Entity
public class User extends PortalModel {
...
public enum Role {
User,
Admin,
}
@Required
public Role role;
public boolean isAdmin() {
return role == Role.Admin;
}
}
我尝试使用此模板:
#{if user && user.role == User.Role.Admin}
<li>
<a href="/admin">Admin</a>
</li>
#{/if}
这失败了,我怀疑原因是你只能从模板中访问模型对象本身,而不能访问其他运行时类,甚至包括枚举常量。我转而定义并使用isAdmin()方法:
#{if user && user.isAdmin()}
这很有效。我认为我是对的,但只是想确认 - 你可以从模板中访问的唯一java对象是模型类本身,它们是在render()
中传递还是放入{ {1}}?