Sei sulla pagina 1di 22

Programao II Java Server Pages

Christopher Burrows

JavaServer Pages o indicador page

O indicador page que se encontra ao cimo do JSP designa outros atributos para o servlet que resulta do JSP. Permite controlar:

Imports; As classes das quais o servlet herda; O tipo de dados gerados; Se permite multithreading; Se o servlet participa na sesso; A pgina que trata de erros inesperados;

JavaServer Pages - import


Formato:

<%@page import=package.classe %> %@page import=package.classe1,...,package.classeN

Utilizar

sempre packages nas classes a ser utilizadas por um JSP.

JavaServer Pages - import


Exemplo:

<%@page import=java.util.*, p2.Pessoa %> <% Pessoa p = new Pessoa(); %>

JavaServer Pages - contentType


Formato:

<%@page contentType=tipo %> <%@page contentType=tipo; charset=charset %> <%@page pageEncoding=charset %>

Serve

para especificar o tipo de resultado apresentado pelo JSP.

JavaServer Pages - contentType


Exemplo

para uma pgina HTML normal:

<%page contentType=text/html %>

JavaServer Pages - session


Formato:

<%@page session=true/false %>

Serve

para especificar se um JSP faz parte da sesso ou no; defeito verdadeiro;

Por

JavaServer Pages - Tags


<jsp:include

/> <jsp:param /> <jsp:forward /> <jsp:getProperty /> <jsp:setProperty /> <jsp:useBean />

jsp:include
Formato:

<jsp:include page=caminho />

Permite

incluir um ficheiro na altura em que feito o request. O ficheiro a incluir pode ser esttico ou dinmico(ex: HTML/JSP/texto/outro).

jsp:include - Exemplo
<html> <head></head> <body> <jsp:include page=ola.jsp" /> </body> </html>

jsp:useBean

Formato:

<jsp:useBean id=nomeDoObjecto class=package.classe scope=contexto />

Permite criar uma instncia de uma classe, sem utilizar cdigo Java explicito. O atributo scope permite determinar o mbito da instncia (page/session/application).

jsp:useBean
As

classes a ser utilizadas como Beans devem ter as seguintes propriedades:


Construtor vazio; Os atributos devem ser private; Gets/sets;

jsp:useBean - Exemplo
<html> <head></head> <body> <jsp:useBean id=p1 class=p2.Pessoa scope=session /> </body> </html>

jsp:setProperty
Formato:

<jsp:setProperty name=nomeDoObjecto property=atributo value=valor />

Permite

dar valores aos atributos de um Objecto (da mesma forma que o mtodo .setAtributo() utilizado anteriormente).

jsp:setProperty - Exemplo
<html> <head></head> <body> <jsp:useBean id=p1 class=p2.Pessoa scope=session /> <jsp:setProperty name=p1 property=nome value=Xpto/> </body> </html>

jsp:getProperty
Formato:

<jsp:getProperty name=nomeDoObjecto property=atributo />

Permite

obter o valor do atributo de um Objecto (da mesma forma que o mtodo .getAtributo() utilizado anteriormente).

jsp:getProperty - Exemplo
<html> <head></head> <body> <jsp:useBean id=p1 class=p2.Pessoa scope=session /> <jsp:getProperty name=p1 property=nome /> </body> </html>

jsp:forward
Formato:

<jsp:forward page=endereo />

Permite

reencaminhar o pedido e respectivos parmetros para outro ficheiro HTML/JSP/Servlet.

jsp:forward - Exemplo
<html> <head></head> <body> <jsp:forward page=ola.jsp" /> </body> </html>

jsp:param

Formato:

<jsp:param name=nome value=valor />

Serve para especificar um parmetro adicional, a acrescentar aos do pedido do utilizador. Pode ser utilizado com o jsp:include/forward ou dentro de um bloco <jsp:params></jsp:params>

Exercicio
Criar

(ou utilizar de outra aula) a classe Pessoa, com os seguintes atributos (nome(String), idade(int), numBI(int)). Utilizando a pgina NovaPessoa, crie um JSP que receba os dados do formulrio e crie uma instncia da classe Pessoa com esses dados (utilizando o useBean/setProperty).

Exercicio
Armazenar

o objecto Pessoa criado num ficheiro PessoaJSP.dat. Criar outra pgina JSP que leia o ficheiro PessoaJSP.dat e imprima os dados da pessoa.

Potrebbero piacerti anche