Java Server Pages - JSP 2 JSP So pginas HTML com cdigo Java embutido Soluo para a exibir a resposta de Servlets O container compila uma pgina JSP transformando-a em Servlet Aps gerada funciona na mesma velocidade que um Servlet 3 Elementos do JSP Diretivas - <%@ %> Declaraes - <%! %> Expresses - <%= %> Scriptlets - <% .... %> Comentrios - <%-- %> Ao - <jsp:ao /> Custom Tags - <prefixo:nome .../> 4 Diretivas Passam informaes da pgina que sero necessrias para a criao do Servlet resultante
Principais : page include taglib
<%@ page import=java.util.* %> 5 Declaraes Declaraes de mtodos e variveis da pgina
<%! public String getTipo(String nome) { return Tipo e + nome; } %>
<%! public static String tipo = Tipo1; %>
6 Expresses Utilizado para executar uma expresso e mostrar o seu retorno
<%=nome%> Mostra o contedo de nome
<%=10 * 2 %> Mostra o valor 20 7 Scriptlets Utilizado para inserir um pedao de cdigo Java na pgina
<jsp:useBean id=pessoa class=com.fiap.Pessoa > 10 Objetos implcitos So objetos prontos disponveis nas pginas, mais precisamente nos blocos <% %>
So eles : out response request page config session application pageContext exception 11 Config Acessa configuraes das pginas config.getInitParameter(tipo)
Porm necessrio configurar o parmetro da pgina no arquivo web.xml 12 Request Acessa dados do request Semelhante ao HttpRequest do Servlet
getParameter getAttribute getMethod
13 Response Referncia aos dados de sada Semelhante ao HttpResponse do Servlet
addCookie sendRedirect 14 out Referncia aos stream de sada semelhante ao response.getWriter()
<% out.println(<HTML>); %> 15 session Representa a sesso do usurio Semelhante a request.getSession()
<% Pessoa p = (Pessoa)session.getAttribute(pessoa); %>
<% Vector v = new Vector(); session.setAttribute(v,v); %> 16 application Representa um objeto de toda a aplicao Objetos guardados sero vistos por toda a aplicao Referencia o contexto da aplicao (ServletContext)
<% Pessoa p = (Pessoa)application.getAttribute(pessoa); %> 17 exception Somente existe se a pgina tiver o seguinte atributo
<%@ page isErrorPage=true %>
<%=exception.getMessage()%> 18 Java Beans Objetos que modelam um padro de componente da aplicao Utilizados tambm para separar a lgica de negcio da camada de visualizao Reuso Manuteno mais rpida Utilizado em conjunto com JSP para minimizar o cdigo 19 Inserindo Java Beans no JSP Para inserir uma referncia de um Java Bean em uma pgina JSP <jsp:useBean id=nomedereferencia class=classecomopacote scope=page|session|request|application /> O atributo scope opcional e representa em qual escopo o bean poder ser visualizado O id serve como uma referncia para o Java Bean, podendo ser utilizado em scriptlets <%=nomeBean.getTipo(); %> 20 Propriedades do Java Bean Para ler uma propriedade de um Java Bean <jsp:getProperty name= pessoa property=nome /> Para setar uma propriedade de um Java Bean <jsp:setProperty name= pessoa property=nome value=thiago /> Os parmetros HTTP de mesmo nome das propriedades so carregados automaticamente 21 Condies e iteraes No existe tags que modelam condies ou interaes (do, while ,if, etc ) para isso ser necessrio o uso de TagLibs Porm nada impede que as tags padres sejam utilizadas dentro de laos ou de ifs <% if(flagMudou) { %> <jsp:useBean id=pessoa class=com.fiap.Pessoa scope=request /> <% } %> 22 Incluses
Incluso esttica Indicado quando a estrutura no muda com freqncia <%@ include file=menu.jsp %>
Incluso dinmica Fragmentos so carregados em tempo de execuo <jsp:include page=menu.jsp />
Pode ser passado opcionalmente parmetros <jsp:param name=nome value=thiago />
23 Forward
Para repassar o fluxo de uma pgina JSP para uma outra pgina JSP ou servlet <jsp:forward page=segunda.jsp />
Pode ser passado opcionalmente parmetros <jsp:param name=nome value=thiago />
24 Copyright 2010 Profs. Emlio Celso, Eduardo Endo, e atualizado por Leandro Rubim e Thiago Yamamoto
Todos direitos reservados. Reproduo ou divulgao total ou parcial deste documento expressamente probido sem o consentimento formal, por escrito, do Professor (autor).