JSF - Como fazer comparações para renderizar ou nao o componente

Opa :smiley:

Tenho alguns componentes que devem ser renderizados se o nivel do usuario for master e como meu objeto Nivel é um enum, eu fiz o seguinte:

rendered="#{login.nivel == br.com.dp.enum.nivel.Nivel.MASTER}"

Porém isso não funciona. Qual a maneira correta de fazer isso?

[]'s

Procura passar esta constante para o método get de algum ManagedBean.

Mas no JSF vou comparar String usando ==?

Sim.

Ai ficaria:

rendered="#{login.nivel == managedBean.nivel" 

Isso?

Isto.

Olá,

Ai ficaria:

rendered="#{login.nivel == managedBean.nivel" 

Isso?[/quote]
Aconselho-te a procurar uma abordagem mais prática e inteligente, ou seja, você poderia deixar a regra que define se um usuário é Master (ou whatever) dentro do próprio objeto Usuario. Algo como:

public boolean isMaster() { return Nivel.MASTER.equals(this.nivel); }

E no componente você faria apenas:

rendered="#{usuarioLogado.master}"

Abraços e boa sorte.