O que é Expression Language e Facelets em Java

O que é Expression Language e Facelets em Java

Um dos maiores desafios da manipulação de Views dentro das linguagens web é tornar as páginas HTML “dinâmicas”. Imagine que você têm uma página que realiza um cadastro, faz uma busca, filtra dados, edita, exclui, etc. Isso tudo torna o seu website uma ferramenta e não apenas uma “vitrine” estática.   Nesta aula iremos discutir sobre expression languages que já foram introduzidas por indução no ultimo post e sobre facelets.  

Expression Languages e facelets

  O EL permite que você use componentes JavaBeans em páginas XHTML ou JSP. Por exemplo, o atributo de teste da seguinte tag condicional é fornecido com uma expressão que compara com o número de itens no bean com escopo de sessão chamado cart.  

<c: if test = "$ {sessionScope.cart.numberOfItems> 0}">   ... </ C: if>   

A tecnologia JavaServer Faces usa o EL para as seguintes funções:  

  • Avaliação diferida e imediata de expressões
  • A capacidade de configurar dados
  • A capacidade de invocar métodos
  • Vendo o Else no EL nos aplicativos JavaServer Faces.

Para resumir, o seguinte fornece uma descrição do seguinte:  

  • Ler dinamicamente dados de aplicativos armazenados em componentes JavaBeans, várias estruturas de dados e objetos implícitos
  • Gravar dados dinamicamente, como entrada do usuário em formulários, para componentes JavaBeans
  • Invocar métodos estáticos e públicos arbitrários
  • Realize dinamicamente operações aritméticas

2.1 Choose

O choose permite que se coloque uma condição para exibição de um trecho de código XHTML.

Veja um exemplo:  

<c:choose> 
    <c:when test="#{jSTLBackingBean.rendered}"> Enabled </c:when> 
    <c:otherwise> Disabled </c:otherwise> 
</c:choose>    

2.2 Repeat

  O repeat é um comando que permite iterar sobre uma lista livremente sem a necessidade de expor os dados em forma de tabela. Veja um exemplo:  

<ui:repeat var="o" value="#{order.orderList}" varStatus="status"> 
  <tr> 
    <td>#{o.orderNo}</td> 
    <td>#{o.productName}</td> 
    <td>#{o.price}</td> 
    <td>#{o.qty}</td> 
  </tr> 
</ui:repeat>

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e forma com que ela pode transformar vidas!

Deixe uma resposta