IF no JSF

7 respostas
L

Existe alguma forma de fazer um IF no JSF?

7 Respostas

L

Tu pode usar um operador ternário em EL

Ps.: cara seria interessante tu começar a ler o que a galera responde nos teus tópicos, porque provavelmente essa mensagem nem vai ser lida que nem nos outros tópicos que você fez :frowning:

L

Nunca usei operador ternário em EL, tu pode explicar como funciona?

E em relação a não ler as respostas do pessoal isso não é verdade, sempre leio o que o pessoal responde, e agradeço muito aqueles que disponibilizam tempo e energia para responder as mensagens.

T

Cara dependendo que você quer fazer dá para usar o atributo rendered, tipo, só como exemplo, caso uma lista esteja vazia e você quer mostrar uma mensagem ao invés de uma data table vazia

<h:dataTable value="#{mBean.lista}" rendered="#{!empty mBean.lista}>
...
</h:dataTable>
<h:outputText value="Não  valores" rendered="#{empty mBean.lista}"/>
L

Então o papai noel comeu as mensagens que tu postou aqui :frowning:

http://www.guj.com.br/posts/list/57068.java#299668

Operador ternário é o mesmo do Java:

condicao ? se verdadeira : se falsa

tá ligado?

P

Se você estiver usando JSF 1.2, também pode usar JSTL pois a partir dessa versão a EL foi unificada.

<c:if test="${date.time != 0}" >
    <h:outputText value="text"  />
</c:if>
L

Valeu pela ajuda isso funciona bem

<c:if test="${date.time != 0}" > <h:outputText value="text" /> </c:if>
e vai servir para outros casos que tenho, mas não vai resolver esse caso especifico, acho melhor eu tentar com valueChangeListener.

Valeu!

L

PauloCordeiro:

<c:if test="${date.time != 0}" > <h:outputText value="text" /> </c:if>

Isso funciona em JSF não 1.2 certo?

O EL unificado seria dessa maneira

<c:if test="#{date.time != 0}" >
    <h:outputText value="text"  />
</c:if>

ou estou enganado?

Criado 19 de abril de 2007
Ultima resposta 20 de abr. de 2007
Respostas 7
Participantes 4