У меня есть пользовательский объект:
@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()
или помещаются в renderArgs
?