Servlets/JSP/JSF Prof. Cedric Luiz de Carvalho INF/UFG Desenvolvimento de Aplicações Web com Interfaces Ricas - 04 / 2010 Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 1 / 50
Agenda 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 2 / 50
Ações Padrão Provém acesso a tarefas comuns executadas em uma JSP Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 3 / 50
Ações Padrão Provém acesso a tarefas comuns executadas em uma JSP Incluem conteúdo de outros recursos Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 3 / 50
Ações Padrão Provém acesso a tarefas comuns executadas em uma JSP Incluem conteúdo de outros recursos Encaminham requisições para outros recursos Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 3 / 50
Ações Padrão Provém acesso a tarefas comuns executadas em uma JSP Incluem conteúdo de outros recursos Encaminham requisições para outros recursos Interagem com JavaBeans Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 3 / 50
Ações Padrão Provém acesso a tarefas comuns executadas em uma JSP Incluem conteúdo de outros recursos Encaminham requisições para outros recursos Interagem com JavaBeans Contêiners JSP processam ações em tempo de requisição Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 3 / 50
Ações Padrão Provém acesso a tarefas comuns executadas em uma JSP Incluem conteúdo de outros recursos Encaminham requisições para outros recursos Interagem com JavaBeans Contêiners JSP processam ações em tempo de requisição Delimitadas por <jsp:action> e </jsp:action> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 3 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 4 / 50
Ações Padrão - JSPAction (1/2) <jsp:include> : dinamicamente inclui outro recurso em uma JSP. Quando a JSP é executada, o recurso referenciado é incluído e processado Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 5 / 50
Ações Padrão - JSPAction (1/2) <jsp:include> : dinamicamente inclui outro recurso em uma JSP. Quando a JSP é executada, o recurso referenciado é incluído e processado <jsp:forward> : encaminha o processamento da requisição para outra JSP, servlet ou página estática. Esta ação encerra a execução da JSP atual Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 5 / 50
Ações Padrão - JSPAction (2/2) <jsp:plugin> : permite que um componente plug-in possa ser acrescentado à página na forma de um objeto específico do navegador ou de um elemento HTML. No caso de um applet Java, esta ação habilita a descarga e instalação de um plug-in Java, se ele já não estiver instalado no computador Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 6 / 50
Ações Padrão - JSPAction (2/2) <jsp:plugin> : permite que um componente plug-in possa ser acrescentado à página na forma de um objeto específico do navegador ou de um elemento HTML. No caso de um applet Java, esta ação habilita a descarga e instalação de um plug-in Java, se ele já não estiver instalado no computador <jsp:param> : usada com as ações include, forward e plugin para especificar pares de informação nome/valor adicionais a serem usados por estas ações Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 6 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 7 / 50
Ações Padrão - Manipulação de JavaBean <jsp:usebean> : especifica que a JSP usa uma instância de JavaBean. Esta ação especifica o escopo do bean e associa a ele um ID que os componentes de scripting podem usar para manipulá-lo Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 8 / 50
Ações Padrão - Manipulação de JavaBean <jsp:usebean> : especifica que a JSP usa uma instância de JavaBean. Esta ação especifica o escopo do bean e associa a ele um ID que os componentes de scripting podem usar para manipulá-lo <jsp:setproperty> : define uma propriedade na instância do JavaBean especificado Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 8 / 50
Ações Padrão - Manipulação de JavaBean <jsp:usebean> : especifica que a JSP usa uma instância de JavaBean. Esta ação especifica o escopo do bean e associa a ele um ID que os componentes de scripting podem usar para manipulá-lo <jsp:setproperty> : define uma propriedade na instância do JavaBean especificado <jsp:getproperty> : obtém uma propriedade da instância especificada de JavaBean e converte o resultado para uma string que conterá a resposta Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 8 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 9 / 50
Ação <jsp:include> Habilita que conteúdo seja incluído em uma JSP dinamicamente Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 10 / 50
Ação <jsp:include> Habilita que conteúdo seja incluído em uma JSP dinamicamente Mais flexível que a diretiva include - permite a inclusão de conteúdo tanto dinâmico como estático: Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 10 / 50
Ação <jsp:include> Habilita que conteúdo seja incluído em uma JSP dinamicamente Mais flexível que a diretiva include - permite a inclusão de conteúdo tanto dinâmico como estático: Requer mais sobrecarga quando o conteúdo da página muda freqüentemente Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 10 / 50
Ação <jsp:include> Habilita que conteúdo seja incluído em uma JSP dinamicamente Mais flexível que a diretiva include - permite a inclusão de conteúdo tanto dinâmico como estático: Requer mais sobrecarga quando o conteúdo da página muda freqüentemente Atributos Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 10 / 50
Ação <jsp:include> Habilita que conteúdo seja incluído em uma JSP dinamicamente Mais flexível que a diretiva include - permite a inclusão de conteúdo tanto dinâmico como estático: Requer mais sobrecarga quando o conteúdo da página muda freqüentemente Atributos page : especifica o URI relativo do caminho do recurso a ser incluído. O recurso deve ser parte da mesma aplicação web. Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 10 / 50
Ação <jsp:include> Habilita que conteúdo seja incluído em uma JSP dinamicamente Mais flexível que a diretiva include - permite a inclusão de conteúdo tanto dinâmico como estático: Requer mais sobrecarga quando o conteúdo da página muda freqüentemente Atributos page : especifica o URI relativo do caminho do recurso a ser incluído. O recurso deve ser parte da mesma aplicação web. flush : especifica se o buffer deveria ser esvaziado (flushed) depois do include ser executado. No JSP 1.1, estre atributo deve ser true Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 10 / 50
ação include X diretiva include diretiva: arquivos são incluidos em tempo de compilação Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 11 / 50
ação include X diretiva include diretiva: arquivos são incluidos em tempo de compilação ação: pode-se incluir uma página ou pedaço de documento em outra página Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 11 / 50
ação include X diretiva include diretiva: arquivos são incluidos em tempo de compilação ação: pode-se incluir uma página ou pedaço de documento em outra página É executada em tempo de requisição: permite a inclusão de conteúdo tanto estático quanto dinâmico Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 11 / 50
ação include X diretiva include diretiva: arquivos são incluidos em tempo de compilação ação: pode-se incluir uma página ou pedaço de documento em outra página É executada em tempo de requisição: permite a inclusão de conteúdo tanto estático quanto dinâmico Não inclui o conteúdo atual do recurso - inclui qualquer saída gerada pelo recurso incluído diretamente para o JspWriter apontando para a variável implícia out pode-se especificar qualquer tipo de recurso web, contanto que ele produza um conteúdo do mesmo tipo que o requrido pela página JSP Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 11 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 12 / 50
: banner.html <! Fig. 25.7: banner. html > <! banner para i n c l u i r outro documento > < d i v s t y l e = "width: 580px"> <p> Java (TM), C, C++, Visual Basic (R), Object Technology, and <br / > I n t e r n e t and World Wide Web Programming Training  ; <br / > On S i t e Seminars Delivered Worldwide < / p> <p> <a href = "mailto:deitel@deitel.com">deitel@ deitel.com< / a> <br / >978.461.5880<br / >12 Clock Tower Place, Suite 200, Maynard, MA 01754 < / p> < / d i v > Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 13 / 50
: toc.html (1/2) <! Fig. 25.8: toc. html > <! conteúdo para i n c l u i r em outro documento > <p><a h r e f = "http://www.deitel.com/books/index.html"> Publications / BookStore < / a>< / p> <p><a h r e f = "http://www.deitel.com/whatsnew.html"> What s New < / a>< / p> <p><a h r e f = "http://www.deitel.com/books/downloads.html"> Downloads / Resources < / a>< / p> <p><a h r e f = "http://www.deitel.com/faq/index.html"> FAQ ( Frequently Asked Questions ) < / a>< / p> <p><a h r e f = "http://www.deitel.com/intro.html"> Who we are < / a>< / p> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 14 / 50
: toc.html (2/2) <p><a h r e f = "http://www.deitel.com/index.html"> Home Page < / a>< / p> <p>send questions or comments about t h i s s i t e to <a h r e f = "mailto:deitel@deitel.com"> deitel@ deitel.com < / a><br / > Copyright 1995 2003 by D e i t e l & Associates, Inc. A l l Rights Reserved. < / p> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 15 / 50
: clock2.jsp (1/2) <! Fig. 25.9: clock2. jsp > <! date and time to include in another document > < t a b l e > < t r > < td s t y l e = "background-color: black;"> <p class = "big" s t y l e = "color: cyan; font-size: 3em; font-weight: bold;"> <% s c r i p t to determine c l i e n t l o c a l and %> <% format date a c c o r d i n g l y %> <% / / get c l i e n t l o c a l e java. u t i l. Locale l o c a l e = request. getlocale ( ) ; / / get DateFormat f o r c l i e n t s Locale java. t e x t. DateFormat dateformat = java. text. DateFormat. getdatetimeinstance ( java. text. DateFormat.LONG, java. text. DateFormat.LONG, locale ) ; %> <% end s c r i p t %> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 16 / 50
: clock2.jsp (2/2) <% output date %> <%= dateformat. format ( new java. u t i l. Date ( ) ) %> < / p> < / td> < / t r > < / t a b l e > Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 17 / 50
: include.jsp (1/3) <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <! Fig. 25.10: include. jsp > <html xmlns = "http://www.w3.org/1999/xhtml"> <head> < t i t l e >Using j s p : i n c l u d e < / t i t l e > < s t y l e type = "text/css"> body { font family : tahoma, helvetica, arial, sans s e r i f ; } table, tr, td { font size :.9em; border : 3px groove ; padding : 5px ; background color : #dddddd ; } < / s t y l e > < / head> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 18 / 50
: include.jsp (2/3) <body> < t a b l e > < t r > < td s t y l e = "width: 160px; text-align: center"> <img src = "images/logotiny.png" width = "140" height = "93" a l t = "Deitel & Associates, Inc. Logo" / > < / td> < td> < / td> < / t r > <% include banner. html in t h i s JSP %> <jsp : include page = "banner.html" f l u s h = "true" / > < t r > < td s t y l e = "width: 160px"> <% include toc. html in t h i s JSP %> <jsp : include page = "toc.html" f l u s h = "true" / > < / td> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 19 / 50
: include.jsp (3/3) < / td> < / t r > < / t a b l e > < / body> < / html> < td s t y l e = "vertical-align: top"> <% include clock2. jsp in t h i s JSP %> <jsp : include page = "clock2.jsp" f l u s h = "true" / > Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 20 / 50
Usando JSP include Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 21 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 22 / 50
Ação <jsp:forward> Habilita JSP a encaminhar requisições a diferentes recursos Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 23 / 50
Ação <jsp:forward> Habilita JSP a encaminhar requisições a diferentes recursos Pode encaminhar requisições somente a recursos no mesmo contexto Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 23 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 24 / 50
Ação <jsp:param> Especifica pares nome/valor de informação Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 25 / 50
Ação <jsp:param> Especifica pares nome/valor de informação Pares Nome/Valor são passados a outras ações Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 25 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 26 / 50
: forward1.jsp (1/2) <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <! Fig. 25.11: forward1. js p > <html xmlns = "http://www.w3.org/1999/xhtml"> <head> < t i t l e >Encaminha r e q u i s i ç õ e s para outra JSP< / t i t l e > < / head> <body> <% / / i n í c i o do s c r i p t l e t String name = request. getparameter ( "nome" ) ; i f ( name!= n u l l ) { %> <% fim do s c r i p t l e t para i n s e r i r dados de molde f i x o %> <jsp : forward page = "forward2.jsp"> <jsp : param name = "date" value = "<%= new java.util.date() %>" / > < / j s p : forward> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 27 / 50
: forward1.jsp (2/2) <% / / continua o s c r i p t l e t } / / end i f else { %> <% fim do s c r i p t l e t para i n s e r i r dados de molde f i x o %> <form a c t i o n = "forward1.jsp" method = "get"> <p> D i g i t e o seu nome e pressione Pronto< / p> <p>< i n p u t type = "text" name = "nome" / > < i n p u t type = "submit" value = "Pronto" / > < / p> < / form> <% / / continua o s c r i p t l e t } / / fim do else %> <% fim do s c r i p t l e t %> < / body> < / html> <! fim do documento XHTML > Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 28 / 50
Usando JSP include Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 29 / 50
: forward2.jsp (1/2) <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <! forward2. j sp > <html xmlns = "http://www.w3.org/1999/xhtml"v <head> < t i t l e >Processando uma r e q u i s i ç ã o encaminhada< / t i t l e > < s t y l e type = "text/css">. big { font family : tahoma, helvetica, arial, sans s e r i f ; font weight : bold ; font size : 2em; } < / s t y l e > < / head> <body> <p class = "big"> Boa noite <%= request. getparameter ( "nome" ) %>, <br / > Sua requisição f o i recebida <br / > e encaminhada às < / p> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 30 / 50
: forward2.jsp (2/2) < t a b l e s t y l e = "border: 6px outset;"> < t r > < td s t y l e = "background-color: black;"> <p class = "big" s t y l e = "color: cyan;"> <%= request. getparameter ( "date" ) %> < / p> < / td> < / t r > < / t a b l e > < / body> < / html> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 31 / 50
Usando JSP include Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 32 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 33 / 50
Ação <jsp:usebean> Habilita JSP a manipular objetos Java Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 34 / 50
Ação <jsp:usebean> Habilita JSP a manipular objetos Java Cria objetos Java ou localiza um objeto existente para usar em JSP Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 34 / 50
<jsp:usebean> - atributos (1/5) id : nome usado para manipular objetos Java com ações <jsp:setproperty> e <jsp:getproperty>. Uma variável com este nome é também declarada para ser usada com elementos de scripting. Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 35 / 50
<jsp:usebean> - atributos (1/5) id : nome usado para manipular objetos Java com ações <jsp:setproperty> e <jsp:getproperty>. Uma variável com este nome é também declarada para ser usada com elementos de scripting. scope : escopo em que o objeto Java é acessível - page, request, session, application. O valor padrão é page Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 35 / 50
<jsp:usebean> - atributos (1/5) id : nome usado para manipular objetos Java com ações <jsp:setproperty> e <jsp:getproperty>. Uma variável com este nome é também declarada para ser usada com elementos de scripting. scope : escopo em que o objeto Java é acessível - page, request, session, application. O valor padrão é page class : nome da classe (completo) do objeto Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 35 / 50
<jsp:usebean> - atributos (2/5) beanname : nome do bean que será usado com o método instantiate da classe java.beans.beans para carregar o JavaBean para a memória Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 36 / 50
<jsp:usebean> - atributos (2/5) beanname : nome do bean que será usado com o método instantiate da classe java.beans.beans para carregar o JavaBean para a memória type : tipo do JavaBean. Pode ser o mesmo tipo do atributo class, uma superclasse deste tipo ou uma interface implementada por este tipo. O valor padrão é o mesmo para o atributo class. Uma ClassCastException ocorre se o objeto Java não é do tipo especificado com o atributo type Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 36 / 50
<jsp:usebean> - atributos (3/5) name : ID do JavaBean para o qual a propriedade (ou propriedades) possa ser associada Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 37 / 50
<jsp:usebean> - atributos (3/5) name : ID do JavaBean para o qual a propriedade (ou propriedades) possa ser associada property : nome da propriedade. Especificando-se o valor * para este atributo faz com que o JSP associe os parâmetros da requisição com as propriedades do bean. Para cada parâmetro associado (por ex., o nome do parâmetro da requisição é idêntico à propriedade name do bean), a propriedade correspondente do bean é associada ao valor do parâmetro. Se o valor do parâmetro da requisição é " ", o valor da propriedade do bean não se altera Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 37 / 50
<jsp:usebean> - atributos (4/5) param : se os nomes dos parâmetros da requisição não se casam com os nomes das propriedades do bean, este atributo pode ser usado para especificar qual parâmetro da requisição deveria ser usado para obter o valor para uma propriedade específica do bean. Este atributo é opcional. Se for omitido, os nomes do parâmetros da requisição devem se casar com os nomes das propriedades do bean Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 38 / 50
<jsp:usebean> - atributos (5/5) value : valor associado a uma propriedade do bean. O valor é, tipicamente, o resultado de uma expressão JSP. Este atributo é particularmente útil para especificar propriedades do bean que não podem ser definidas usando-se parâmetros da requisição. Este atributo é opcional. Se for omitido, a propriedade JavaBean deve ser de um tipo que possa ser definida usando-se parãmetros da requisição Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 39 / 50
Servlets/JSP/JSF 1 Ações Padrão JSPAction Manipulação de JavaBean jsp:include jsp:forward jsp:param jsp:usebean 2 Atividades Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 40 / 50
Construa a estrutura para a aplicação TomCat Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 41 / 50
Construa a estrutura para a aplicação TomCat Crie o arquivo web.xml e o coloque na pasta WEB-INF Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 41 / 50
Construa a estrutura para a aplicação TomCat Crie o arquivo web.xml e o coloque na pasta WEB-INF Coloque as classes Java no diretório WEB-INF\classes Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 41 / 50
Construa a estrutura para a aplicação TomCat Crie o arquivo web.xml e o coloque na pasta WEB-INF Coloque as classes Java no diretório WEB-INF\classes Coloque o diretório images na pasta raiz da apllicação Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 41 / 50
Construa a estrutura para a aplicação TomCat Crie o arquivo web.xml e o coloque na pasta WEB-INF Coloque as classes Java no diretório WEB-INF\classes Coloque o diretório images na pasta raiz da apllicação Crie a aplicação através do TomCat Server Administration Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 41 / 50
Construa a estrutura para a aplicação TomCat Crie o arquivo web.xml e o coloque na pasta WEB-INF Coloque as classes Java no diretório WEB-INF\classes Coloque o diretório images na pasta raiz da apllicação Crie a aplicação através do TomCat Server Administration Digine http://localhost:8080 no navegador Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 41 / 50
: Rotator.java (1/2) / / Fig. 25.14: Rotator. java / / A JavaBean t h a t r o t a t e s advertisements. package com. d e i t e l. j h t p 5. j s p ; p u b l i c class Rotator { p r i v a t e S t r i n g images [ ] = { "images/advjhtp1.jpg", "images/cpphtp4.jpg", "images/iw3htp2.jpg", "images/jwsfep1.jpg", "images/vbnethtp2.jpg" } ; private String links [ ] = { "http://www.amazon.com/exec/obidos/asin/0130895601/" + "deitelassociatin", "http://www.amazon.com/exec/obidos/asin/0130384747/" + "deitelassociatin", "http://www.amazon.com/exec/obidos/asin/0130308978/" + "deitelassociatin", "http://www.amazon.com/exec/obidos/asin/0130461342/" + "deitelassociatin", "http://www.amazon.com/exec/obidos/asin/0130293636/" + "deitelassociatin" } ; private i n t selectedindex = 0; Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 42 / 50
: Rotator.java (2/2) / / returns image f i l e name for current ad p u b l i c S t r i n g getimage ( ) { return images [ selectedindex ] ; } / / returns the URL for ad s corresponding Web s i t e public String getlink ( ) { return l i n k s [ selectedindex ] ; } } / / update selectedindex so next c a l l s to getimage and / / getlink r e t u r n a d i f f e r e n t advertisement p u b l i c void nextad ( ) { selectedindex = ( selectedindex + 1 ) % images. length ; } Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 43 / 50
: adrotator.jsp (1/2) <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <! Fig. 10.18: a d r o t a t o r. jsp > <jsp : usebean id = "rotator" scope = "application" class = "com.deitel.jhtp5.jsp.rotator" / > <html xmlns = "http://www.w3.org/1999/xhtml"> <head> < t i t l e > AdRotator< / t i t l e > < s t y l e type = "text/css">. big { font f a m i l y : h e l v e t i c a, a r i a l, sans s e r i f ; font weight : bold ; font size : 2em } < / s t y l e > <% atualiza o anúncio %> <% r o t a t o r. nextad ( ) ; %> < / head> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 44 / 50
: adrotator.jsp (2/2) <body> <p class = "big"> AdRotator< / p> <p> <a h r e f = "<jsp:getproperty name = " r o t a t o r " property = " l i n k " />"> <img src = "<jsp:getproperty name = " r o t a t o r " property = "image" />" a l t = "advertisement" / > < / a> < / p> < / body> < / html> Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 45 / 50
adrotator Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 46 / 50
adrotator Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 47 / 50
adrotator Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 48 / 50
Atividade 1 Construir uma página JSP que, em função de uma escolha do usuário, lhe apresente portais de serviços. Por exemplo, se o usuário deseja comprar um livro, devem ser exibidas páginas de livrarias. Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 49 / 50
Atividade 2 Construir um portal de comércio eletrônico, utilizando a tecnologia JSP com, no mínimo os seguintes requisitos: Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 50 / 50
Atividade 2 Construir um portal de comércio eletrônico, utilizando a tecnologia JSP com, no mínimo os seguintes requisitos: A página principal do portal deve ser formada por, no mínimo, três outras páginas HTML - usar a ação jsp:include Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 50 / 50
Atividade 2 Construir um portal de comércio eletrônico, utilizando a tecnologia JSP com, no mínimo os seguintes requisitos: A página principal do portal deve ser formada por, no mínimo, três outras páginas HTML - usar a ação jsp:include Os pedidos do cliente devem ser capturados em uma das sessões da página principal e encaminhados para serem processados em outra - usar as ações jsp:forward e jsp:param Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 50 / 50
Atividade 2 Construir um portal de comércio eletrônico, utilizando a tecnologia JSP com, no mínimo os seguintes requisitos: A página principal do portal deve ser formada por, no mínimo, três outras páginas HTML - usar a ação jsp:include Os pedidos do cliente devem ser capturados em uma das sessões da página principal e encaminhados para serem processados em outra - usar as ações jsp:forward e jsp:param Para fazer um pedido, o cliente deve se cadastrar, e ter seus dados armazenados em um arquivo. O Cadastro também deve ser processado em uma página específica - usar também as ações jsp:forward e jsp:param Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 50 / 50
Atividade 2 Construir um portal de comércio eletrônico, utilizando a tecnologia JSP com, no mínimo os seguintes requisitos: A página principal do portal deve ser formada por, no mínimo, três outras páginas HTML - usar a ação jsp:include Os pedidos do cliente devem ser capturados em uma das sessões da página principal e encaminhados para serem processados em outra - usar as ações jsp:forward e jsp:param Para fazer um pedido, o cliente deve se cadastrar, e ter seus dados armazenados em um arquivo. O Cadastro também deve ser processado em uma página específica - usar também as ações jsp:forward e jsp:param Os dados do cliente devem ser todos validados por um programa java - usar o ação jsp:usebean Prof. Cedric Luiz de Carvalho (INF/UFG) Servlets/JSP/JSF Abril de 2010 50 / 50