Skip to content

Instantly share code, notes, and snippets.

@nenodias
Last active January 31, 2024 13:31
Show Gist options
  • Save nenodias/30d75a0db2a867e50ee7 to your computer and use it in GitHub Desktop.
Save nenodias/30d75a0db2a867e50ee7 to your computer and use it in GitHub Desktop.
Expression Language - EL
Definição: Linguagem criada pela Sun/Oracle que permite acesso pelas SSP's à componentes java visando reduzir o código java das páginas.
EL permite criar expressões tanto aritméticas como lógicas e permite o uso de inteiros, numeração com ponto flutuante, strings, valores booleanos (true/false) e null.
Tem como sintaxe o uso do "$" sucedido por uma expressão entre chaves "{}", ex.: ${expr}
Os operadores mais comuns em EL são "[]" e "." com eles é possível obter acesso a vários atributos dos JavaBeans.
EL permite o uso de parenteses para agrupar expressões. Por exemplo: (1+2)*3=9 mas 1+2*3=7.
Para desativar a avaliação de EL podemos usar o atributo IselIgnored nas JSP's: <%@ page IsELIgnored = "true/false" %>
Se o valor for "true", as expressões EL serão ignoradas pelo container.
Operadores Básicos em EL
'.' - Acesso a propriedade do Bean
'[]' - Acesso a um elemento de lista ou bean
'+' - Soma
'-' - Subtração
'*' - Multiplicação
'/' ou 'div' - Divisão
'%' ou 'mod' - Módulo (Resto da Divisão)
'==' ou 'eq' - Teste de Igualdade (Equal)
'!=' ou 'ne' - Teste de Diferença (Not Equal)
'<' ou 'lt' - Teste de Menor Que
'>' ou 'gt' - Teste de Maior Que
'<=' ou 'le' - Teste de Menor ou Igual a
'>=' ou 'ge' - Teste de Maior ou Igual a
'&&' ou 'and' - Teste para 'E' Lógico
'||' ou 'or' - Teste para 'OU' Lógico
'empty' - Teste para variáveis vazias (sem valor)
Funções em EL
EL permite também o uso de Funções nas expressões cuja Sintaxe é:
${NS:FUNC(param1, param2)}
Onde
NS - Namespace da Função
FUNC - Nome da Função
PARAM - Parâmetros
Para usar funções a taglib correspondente deve estar no projeto e declarada na JSP
Objetos Implicitos em EL
EL Suporta os Seguinte Objetos Implicitos
- pageScope - Acesso a variáveis de escopo tipo page
- requestScope - Acesso a variáveis de escopo tipo request
- sessionScope - Acesso a variáveis de escopo tipo session
- applicationScope - Acesso a variáveis de escopo tipo application
- param - Acesso a parâmetros da requisição
- header - Acesso ao Cabeçalho da Requisição
- cookie - Acesso aos valores de cookies
- pageContext - Objeto PageContext da JSP Corrente
Exemplos de uso de Objetos Implícitos:
${pageContext.request.queryString}
${param["nome"]}
${sessionScope['user'].nome}
${header['user.agent']}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment