Ciclo de vida de um JSP
Como qualquer outra linguagem, o “scripting” JSP tem uma gramática bem definida que inclui elementos de sintaxe para desenvolver diversos processos. Uma linguagem de alto nível, que também é chamada de “TAGS JSP”, classificadas em seis categorias.
Comentarei um pouco sobre cada uma dessas categorias.
Forma resumida das categorias
- Directive: Especifica o momento de tradução do JSP
- Declaration: Declara e define métodos e variáveis
- Scriplet: Permite ao desenvolvedor escrever de forma livre dentro de página JSP
- Expression: Usado para imprimir (escrever) valores no HTML de saída em uma página JSP
- Action: Prové instruções em tempo de execução para o motor JSP
- Comment: Usado para documentação e comentário do código JSP
Forma detalhada das categorias
DIRECTIVE (Diretivas)
As “directives” (diretivas) prevêem informações gerais sobre a página JSP para o motor JSP. Existem três tipos de diretivas: page, include e taglib.
- page: Informa ao motor JSP sobre as propriedades da página JSP.
Exemplo: Informar que a página JSP usará Java como linguagem de script.
<%@ page language=”java” %>
- include: Informa ao motor JSP para incluir o conteúdo de outro arquivo (HTML, JSP, etc) na página atual.
Exemplo: Informar que o conteúdo da página paginaLogin.html seja incluído dentro da página atual.
<%@ include file=”paginaLigin.html” %>
- taglib: Associa o prefixo com um tag library (biblioteca de tags).
Exemplo: Associar a biblioteca “yrosslib.tld” a página JSP
<%@ taglib prefix=”yrosstag” uri=”yrosslib.tld” %>
Observação: As diretivas SEMPRE começam com <%@ e terminam em %>
<%@ page attribute-list %>
<%@ include attribute-list %>
<%@ taglib attribute-list %>
Pontos importantes sobre a sintaxe das diretivas
- Os nomes de tag, os atributos, os valores são “case sensitive” (Sensíveis a escrita)
- O valor deve ser envolvido por um par de aspas simples ou duplas
- Um par de aspas únicas é equivalente a um par de aspas simples
- Não deve existir espaço entre o sinal de (=) e o valor.
DECLARATIONS (Declarações)
Declaram e definem métodos e variáveis que podem ser utilizados dentro da página JSP.
Exemplo:
Declarar uma variável chamada contador do tipo inteira com valor inicial igual a zero.
<%! int contador = 0; %>
Esta variável será iniciada APENAS quando a página for carregada a primeira vez pelo motor JSP, o valor será mantido nas requisições subseqüentes.
Uma declaração sempre inicia com <%! e termina com %>. Ela pode conter muitas declarações java validas.
Exemplo:
<%! String nomes[] = {“Ythalo Rossy”, “Haylander”, “He-man”, “G.I. Joe”} %>
<%!
String getNome(int i) {
try {
return nomes[i];
} catch (Exception e) {
return null;
}
}
%>
No exemplo anterior a presença das duas declarações é apenas ilustrativa, para mostrar que é possível utilizar diversas declarações.
SCRIPTLETS
Scriptlets são fragmentos de código Java inserido em página JSP que são executados cada vez que são requisitadas.
Permite a inserção de regras de negocio (lógica computacional) dentro das paginas JSP.
Uma scriptlet sempre inicia com <% e termina com %>. Ela pode conter muitas linha de código Java valida.
Exemplo:
Página JSP que contabiliza a quantidade de acessos
<%@ page language=”java” %>
<%! int contador = 0; %>
<%
out.print(“<html><body>”);
contador++;
out.print(“Bem vindo! Você é nosso visitante numero ” + contador);
out.print(“</body></html>”);
%>
Onde:
<%@ page language=”java” %>: Diretiva page que diz que usaremos Java como linguagem.
<%! int contador = 0; %>: Declaração de variável. Lembre que as declarações acontecem apenas uma vez ao carregar.
<%
out.print(“<html><body>”);
%>: A referência out, que por padrão representa um objeto do tipo javax.servlet.jsp.JspWriter, é utilizada para escreve diretamente no fluxo de dados da resposta.
Observe que é necessário seguir a sintaxe correta de declarações do Java. Utilizar o out.println(“TESTE”) sem colocar o (;) ponto e virgula no final gera um erro de compilação.
EXPRESSIONS (Expressões)
Expressions atuam como espaços reservados para expressões da linguagem Java, que são avaliadas cada vez que a página é acessada.
Tem a capacidade de escrever diretamente no HTML de saída valores primitivos, de um objeto, retorno de um método, expressões aritméticas ou booleanas.
Uma expressão sempre inicia com <%= e termina com %>.
Observações:
- Só pode existir uma expressão
- A expressão não deve ser finalizada com (;) ponto e vírgula
Exemplo:
Validas
<%= 500 %>
<%= anInt*3.5/100-500 %>
<%= aBool %>
<%= false %>
<%= !false %>
<%= getChar() %>
<%= Math.random() %>
<%= aVector %>
<%= aFloatObj %>
<%= aFloatObj.floatValue() %>
<%= aFloatObj.toString() %>
Invalidas
<%= aBool; %>
<%= int i = 20 %>
<%= sBuff.setLength(12); %>
ACTIONS (Ações)
Actions são comandos executados diretamente pelo motor JSP durante a execução da página JSP.
Os actions JSP são divididos em seis padrões, conforme segue abaixo:
- jsp:include
- jsp: forward
- jsp:useBean
- jsp:setProperty
- jsp:getProperty
- jsp:plugin
Resumindo, jsp:include e jsp:forward permitem a página JSP utilizar outro componente web, os próximos três, jsp:useBean, jsp:setproperty e jsp:getProperty, são utilizados para o uso de javaBeans dentro das página JSP. A ultima ação, jsp:plugin, instrui ao motor JSP gerar código HTML apropriado para incorporar componentes do lado do cliente, como Applets.
O desenvolvedor pode customizar suas próprias ações, conhecidas como tags customizadas. A sintaxe das ações JSP segue o seguinte padrão:
<jsp:actionName attribute-list />
Onde:
actionName: O nome de uma das seis ações padrões mencionadas (podendos ser uma tag customizada).
attribute-list: Representa uma lista de atributos pares chave=valor especificos para a ação.
Observações:
- O nome da ação, seus atributos e seus valores são sensíveis a escrita (case sensitive)
- O valor deve esta entre um par de aspas simples ou duplas
- Não pode existir espaço em branco entre o sinal de (=) e o valor.
COMMENTS (Comentários)
São utilizados para o propósito de documentação entre os desenvolvedores e não afetam a saída da página JSP. A sintaxe de um comentário JSP é a seguinte:
<%– Alguma coisa a ser comentado –%>
O comentários em JSP sempre iniciam com <%– e terminam com –%>
11/09/2009 at 12:30
Excelente Ythalo, parabéns pelo post. É importante saber isso para a prova.
11/09/2009 at 23:30
show de bola, amigo. fez-me lembrar meus experimentos com JSP + Servlets, nos trabalhos da faculdade. um deles era uma loja virtual completa, que valeu nota. parabéns.