¡GoConqr estrena diseño! Cuéntanos qué te parece.

Apuntes

Standard Actions I

Luis Felipe Guariento Desenvolvimento de Software Concursos Públicos Portugués 18 páginas

Standard Actions I

Contenido del apunte (18)

Página 1

Agenda

Nesse vídeo discutiremos:

Ações padrão JSP ( JSP Standard Actions ). Criaremos um trecho de código utilizando as actions padrão a seguir:

jsp:useBean, com os atributos id, scope, type e class.

jsp:getProperty

jsp:setProperty

Atributos 'Type' (usados com ou sem class)

Página 2

Standard Actions

Uma ação padrão JSP pode ser usada para eliminar todo o código de script.

Um non-Enterprise JavaBean possui propriedades cujos valores podem ser configurados e obtidos por meio de métodos.

Nessa apresentação discutiremos as tags de ações padrão JSP ( JSP Standard Actions tags ) relacionadas à criação de beans, uso de métodos getter / setter para se obter / configurar propriedades de um bean

Página 3

Standard Actions (2)

As três 'JSP Standard Action tags' usadas com um JavaBean são:

Standard Actions I

Página 4

< jsp:useBean >

Abaixo vemos um exemplo de utilização da tag < jsp:useBean >

class -> define o tipo da classe do bean.

id -> identificador do objeto, atua da mesma forma que um nome de variável.

scope -> o escopo no qual o bean está sendo criado / obtido que pode ser "page","request","session" ou "application".

Standard Actions I

A tag 'jsp:useBean' irá criar um novo bean caso o container não possa encontrá-lo nesse escopo em particular.

Standard Actions I

Página 5

< jsp:getProperty >

Abaixo vemos um exemplo de utilização da tag jsp:getProperty.

Aqui estamos obtendo o valor da propriedade "name" do bean cujo id em < jsp:useBean > é "apt", ou seja, a variável que referencia o bean.

O atributo id da tag jsp:useBean deve coincidir com a propriedade name da tag jsp:getProperty!

Standard Actions I

Página 6

< jsp:setProperty >

O trecho de código abaixo configura o valor da propriedade "name" de um bean referenciado como "apt" pela propriedade id da tag jsp:useBean. Sendo assim, o nome do bean é "apt" para a tag jsp:setProperty.

Standard Actions I

Caso a tag jsp:setProperty seja utilizada no corpo da tag jsp:useBean, então o código de jsp:setProperty será executado somente se o bean não for encontrado e nesse caso, um novo bean será criado. Exemplo:

Standard Actions I

Página 7

Scope

Se o atributo scope não for especificado na tag jsp:useBean ou na tag jsp:getProperty, o container assumirá que se trata do escopo padrão que é page.

Standard Actions I

Página 8

Bean class : apt.java

Abaixo vemos uma classe bean que configura (através de setName()) a propriedade name do bean e obtém (através do atributo getName()), a propriedade name do bean.

Standard Actions I

Página 9

Servlet Bean_servlet

O servlet abaixo é utilizado para configurar a propriedade do bean criado no slide anterior (apt), configurando sua propriedade name para o valor "Hibiscus", e colocando o bean como um atributo do escopo de requisição através da chamada a request.setAttribute("apt",p);

Também irá transferir a controle da execução da requisição para a página jsp jspbean.jsp através dos comandos:

RequestDispatcher dis=

request.getRequestDispatcher("jspbean.jsp");

dis.forward(request,response);

Standard Actions I

Página 10

jspbean.jsp

Quando a requisição é encaminhada para jspbean.jsp pelo servlet BeanServlet, a página JSP irá completar a requisição imprimindo o valor da propriedade name do bean criado na variável de requisição apt. A propriedade é impressa através das tags:

< jsp:useBean id="apt" class="hello.apt" scope="request" />

A tag acima é utilizada para inicializar o atributo bean, obtendo-o a partir do escopo de requisição "apt" que referencia um objeto da classe bean apt. Nessa tag podemos ver que o atributo class referencia o pacote e o nome da classe do bean.

< jsp:getProperty name="apt" property="name" />

A tag acima retorna o valor da propriedade name do bean "apt" inicializado.

Standard Actions I

Página 11

web.xml

Configuração do arquivo web.xml que mapeia o servlet para um valor de URL de modo que o browser possa fazer requisições a ele.

Note que na tag servlet-class temos que informar junto ao nome da classe o caminho completo onde está localizado o bean, ou seja, o pacote hello onde ele se encontra.

Standard Actions I

Página 12

Saida produzida por jspbean.jsp

Após configurar o bean como um atributo no escopo de requisição, o servlet Bean_servlet irá encaminhar a requisição para a página JSP jspbean.jsp que exibirá o bean na tela através das tags jsp:useBean e jsp:getProperty, conforme vimos. Abaixo está a saída produzida pela página JSP.

Standard Actions I

Página 13

O atributo type

O atributo type faz uma referência a algo que a classe pode ser, ou seja, referencia o tipo da variável que abriga o objeto referido por class.

Lembrar:

type é o tipo da referência

class é o tipo do objeto

type deve ser do mesmo tipo de class ou então uma super-classe de class. Isso diz que class é subclasse de type.

Página 14

O atributo type (2)

Vamos exemplificar: considere uma super-classe Área ( a qual é uma classe abstrata ) que tem uma propriedade "name", conforme desenho abaixo:

Standard Actions I

Podemos ter um uso para a tag jsp:useBean conforme abaixo.

Nesse exemplo, type é uma classe abstrata e class é o objeto referenciado por type, ou seja, class é a subclasse concreta Apt.

Standard Actions I

Página 15

O atributo type (3)

'type' pode ser uma classe, qualquer tipo abstrato ou então uma interface.

'class' deve ser uma subclasse ou subtipo de 'type'.

O bean deve realmente existir no escopo especificado caso 'type' seja usado sem 'class'.

O exemplo abaixo funcionará perfeitamente caso o atributo bean "apt" já existir no escopo de requisição.

Standard Actions I

Página 16

O atributo type (3)

'class' nunca deve ser tipo abstrato em hipótese alguma ( com ou sem a presença de type ).

'class' precisa ter um construtor público sem argumentos

Standard Actions I

Página 17

Compilação das classes Bean_servlet.java e apt.java

Para compilar as classes Bean_servlet.java e apt.java, considerando que as variáveis de ambiente do Java já estão configuradas, utiliza o comando a seguir:

Standard Actions I

Standard Actions I

Standard Actions I

Standard Actions I

Página 18

Conclusão

Nessa apresentação discutimos as action tags JSP padrão:

jsp:useBean

jsp:setProperty

jsp:getProperty

Vimos um programa que ilustra as action tags padrão JSP.

Información

Descripción
Concursos Públicos (OCEJWCD 6 ONLINE COURSE) Desenvolvimento de Software Apunte sobre Standard Actions I, creado por Luis Felipe Guariento el 02/03/2018.
Visitas
8
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?