Professional Documents
Culture Documents
Na abordagem MVC 2, as solicitaes dos usurios so atendidas por um servlet, que obtm os parmetros da requisio; com base neles, chama a lgica de negcio; coloca os javabeans resultantes na requisio, sesso ou contexto do servlet e, em seguida, encaminha a requisio de volta para uma pgina JSP onde, por fim, o resultado apresentado. Infelizmente, na apresentao dos resultados, o uso de elementos de scripting torna os projetos difceis de manter a longo prazo e encoraja o acoplamento da camada de apresentao de negcio, comprometendo a flexibilidade e escalabilidade da aplicao. Expression Language (EL), visto nesta nota de aula, permite a simplificao da camada de apresentao (pginas JSP) ao substituir os elementos de scripting ou as aes-padro jsp:useBean e jsp:getProperty com entradas curtas e legveis.
Contedo
Vantagens da EL Desvantagens da EL Comparao das sintaxes EL e tags JSP Sintaxe para acessar atributos e propriedades Sintaxe para acessar propriedades aninhadas de javabean Sintaxe para acesso a elementos de colees (mapas, listas e arrays) Operadores e palavras-chave Bibliografia
Vantagens da EL
Prov sintaxe compacta, mais legvel e elegante que a das tags JSP; Suporta acesso a propriedades aninhadas; Suporta acesso a colees (mapas, listas e arrays); Lidar melhor com valores nulos; Prov mais funcionalidade
Desvantagens da EL
No cria um javabean se ele no existir; No prov um modo de configurar uma propriedade
<jsp:useBean id=pessoa scope=session class= br.pro.antoniopassos.modelo.Pessoa /> <table> <tr> <td>Nome:</td> <td><jsp:getProperty name=pessoa propety=nome ></td> </tr> <tr> <td>Sobrenome:</td> <td><jsp:getProperty name=pessoa propety=sobrenome ></td> </tr> </table>
Na pgina JSP...
<p>Hoje: ${hoje} </p>
Exemplo: No servlet...
String nome = Fulano; String sobrenome = Tal; Pessoa pessoa = new Pessoa(nome, sobrenome); session.setAttribute(pessoa, pessoa);
Na pgina JSP...
A sequncia de escopos em que a Java busca por um atributo a da tabela seguinte. Escopo page request session application Objeto EL implcito pageScope requestScope sessionScope applicationScope Descrio O bean est armazenado no objeto PageContext O bean est armazenado no objeto HttpServletRequest O bean est armazenado no objeto HttpSession O bean est armazenado no objeto ServletContext
Na pgina JSP...
<p>Nome: ${pessoa.nome}</p> <p>Sobrenome: ${pessoa.sobrenome}</p> <p>Telefone: (${pessoa.telefone.DDD}) ${pessoa.telefone.numero}</p>
Na pgina JSP...
<p>Primeiro nome: ${nomes[0]}</p> <p>Segundo nome: ${nomes[1]}</p> <p>Terceiro nome: ${nomes[2]}</p>
Operadores e palavras-chave
Operadores aritmticos Operador + * / % Alternativa Descrio Adio Subtrao Multiplicao Diviso Mdulo (resto)
div mod
Operadores relacionais Operador == != < > <= >= Alternativa eq ne lt gt Le ge Descrio Igual a No igual a Menor que Maior que Menor que ou igual a Maior que ou igual a
Palavras-chave usadas em expresses Palavra null true false Alternativa Descrio Nulo Verdadeiro Falso