tava querendo fazer uma comparacao, tipo se o campo abaixob[/b] for maior que 20 ele exibi uma imagem na tela(coisa simples), mas nao consegui fazer a comparacao usando o if…
nao mostra de jeito nenhum e fui olhar no fonte pelo navegador, nem aparece as linhas…
D
dev.rafael
Ñ creio q essa ñ seja a melhor solução. Apenas pq vc tem uma comparação ñ significa q isso seja lógica da aplicação. View tb tem lógica de apresentação. É responsábilidade da view decidir se algum componente deve ou ser renderizado. Modularizar é extremamente importante, mas modularizar em excesso tb ñ é uma boa estratégia. Isso pode levar um código muito grande e ilegivel, difícil e caro de manter.
D
Daniel.F
Acho que não tem jeito com de usar o sinal o operador de > com el nativa do JSF,
faz o que eu ti falei usar c:if sua xhtml fica muito poluído.
D
dev.rafael
Mas o q vc está usando no <c:if> é a EL “nativa” do JSF (até pq ñ existe EL ñ nativa). Segundo a spec > é um operador válido da EL e se ñ está funcionando então o erro está em outro ponto. Vc tb pode substituir o > por gt se vc preferir.
Você quer colocar uma condição para exibir determinado valor ou quer esconder determinado componente?
Se quiser exibir:
//Se a nota do aluno for menor que 2 e a turma do aluno for igual a 3, será exibido 3, senão aluno01.nota.<h:outputTextvalue="#{aluno01.nota < 2 and aluno01.turma == 3 ? 3 : aluno01.nota}"/>
Se quiser esconder:
//Se a nota do aluno for menor que 2 e a turma do aluno for igual a 3 o componente será exibido. <h:outputTextvalue="Aqui é a mensagem que será exibida!"rendered="#{aluno01.nota < 2 and aluno01.turma == 3}">
J
jeffev
alves.Felipe:
o ideal mesmo seria fazer essa comparação no seu bean, e só chamar o metodo que retorne um boolean
public boolean isMaior()
{
return valorTotal>50;
}