Java Server Pages
Java Server Pages
Tópicos Abordados
• O que é
• Elementos de um JSP
– Scriplets
– Expressions
– Declarations
• Diretivas do JSP
– Include
– Taglib
– Page
• JSP Actions
• Objetos implícitos
• Páginas de erro
• Inicialização e destruição de JSPs
• Passando parâmetros para JSPs
O Que É
1
Exemplo de JSP
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%
List<String> l = new ArrayList<String>();
l.add("Arroz");
l.add("Feijão");
l.add("Batata");
%>
<html>
<body>
<H1>Lista de Compras</H1>
<ul>
<% for (String item : l) { %>
<li><%= item %></li>
<% } %>
</ul>
</body>
</html>
Exemplo de JSP
Desenvolvedor Container
2
Scriptlets
O ponto-e-vírgula é
necessário aqui
Expressions
Declarations
3
Detalhes do Servlet Gerado
Servlet
public class area_jsp extends HttpJspBase {
<html><body> out.write("<html><body>");
<% int lado = 10; %> int lado = 10;
A área do quadrado é: out.write("A área do quadrado é: ");
<%= lado * lado %> out.print(lado * lado);
</body></html> out.write("</body></html>");
}
10
Servlet
public class area_jsp extends HttpJspBase {
int lado = 10;
11
Comentários em JSP
12
4
Diretivas do JSP
Diretiva Descrição
include Inclui código de um arquivo externo no JSP
taglib Define uma tag library
page Define propriedades da página
13
A Diretiva Include
14
A Diretiva Taglib
15
5
A Diretiva Page
16
A Diretiva Page
17
A Diretiva Page
18
6
A Diretiva Page
19
JSP Actions
20
A action <jsp:include>
<html>
Inclui o arquivo
<body>
<jsp:include page="header.jsp" /> header.jsp na geração do
... HTML de retorno
</body>
</html>
21
7
A action <jsp:forward>
Redireciona para o
arquivo result.jsp
22
Objetos Implícitos
23
Objetos Implícitos
24
8
Páginas de Erro
25
Páginas de Erro
lista_compras.jsp
<%@ page errorPage="error.jsp" %>
<html>
<body>
<%
Object o = null;
o.toString();
%>
</body>
</html>
26
Páginas de Erro
error.jsp
<%@ page isErrorPage="true" %>
<html>
<body>
<H1>Erro no Sistema</H1>
<STRONG>Mensagem: </STRONG><%= exception.toString() %>
</body>
</html>
27
9
Inicialização e Destruição de JSPs
28
<%!
Usar declaration public void jspInit() {
//inicializar o que for necessário
}
29
web.xml
<servlet>
<servlet-name>ListaCompras</servlet-name>
<jsp-file>/lista_compras.jsp</jsp-file>
<init-param>
<param-name>moeda</param-name>
<param-value>R$</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ListaCompras</servlet-name>
<url-pattern>/lista_compras.jsp</url-pattern>
</servlet-mapping>
30
10
Passando Parâmetros para JSPs
lista_compras.jsp
<html><body>
Moeda: <%= config.getInitParameter("moeda") %>
</body></html>
31
32
• Qual a alternativa?
– EL (Expression Language)
– JSTL (Java Server Pages Standard Tag Library)
– Tag libraries customizadas
33
11