Vous êtes sur la page 1sur 24

DIG Desenvolvimento de Interface Grfica

Prof. Thiago T I Yamamoto


profthiagoy@fiap.com.br
thiagoyama@gmail.com



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

<%
String nome = thiago;
%>

<%
for(int i=0;i<10;i++){
out.println(Passou aqui + i);
}
%>

8
Comentrios
Utilizado para comentar um cdigo

<%--String nome = thiago;--%>

Pode ser utilizado o comentrio normal do Java
<%
/*
for(int i=0;i<10;i++){
out.println(Passou aqui + i);
}
*/
%>

9
Aes
So tags prontas da especificao JSP que podem ser
includas nas pginas JSP

<jsp:forward >
<jsp:include >

<jsp:useBean >
<jsp:setProperty >
<jsp:getProperty >

<jsp:plugin >

<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).