Olá desenvolvedores, hoje iremos falar sobre a action tag Java bean, uma classe java que processa dados em memória, cuja responsabilidade é encapsular vários objetos em um único objeto. Desse modo, tais objetos podem ser acessados de vários locais do sistema. Sendo restrito aos métodos getters e setters, assim, com a ajuda destes é possível definir e obter dados.
De um modo geral o Java Bean deve obedecer a algumas diretrizes, como ter um construtor sem argumento, ser serializável. Mas principalmente, ele deve fornecer métodos para definir e obter os valores das propriedades, conhecidos como métodos getters e setters.
Entre as vantagens de se utilizar o Java Bean é que seus métodos e propriedades podem ser expostos a outro aplicativo. Mas não é apenas isso, se torna significativamente fácil reutilizar os componentes de software. Por outro lado, a criação de métodos getter e setter para cada uma das propriedades, pode significar um retorno ao código padrão. E não, isso não é legal, realmente nos dá o que pensar.
JAVA BEAN NA PRÁTICA
Dentro da pasta src crie um pacote beans, e dentro do pacote crie a classe BeanCursoJsp. Dentro da classe implementaremos um método que retornará um inteiro, isto é, o número vezes 100. E atente-se, esta classe será de extrema importância para nosso projeto como um todo. Será a partir dela que iremos construir os objetos da nossa aplicação.
public class BeanCursoJsp {
public int calcula(int numero){
return numero * 100;
}
}
A ideia central aqui é ver como esta implementação funciona do lado do JavaServer Pages. A classe Bean será declarada na página principal. E atente-se, ela deverá ser a primeira declaração da página, acima da estrutura do documento HTML e das tags de configuração.
Neste sentido para utilizá-lo precisamos de outra action tag, a useBean, que é utilizada quando desejamos utilizar a classe Java Bean. Desse modo useBean é utilizada para localizar ou instanciar a classe Bean. E, dependendo do escopo, ela não criará o objeto, entretanto, se o objeto bean não estiver criado, ela instancia o bean.
A tag de ação useBean terá como atributo o id, usado para identificar o bean no escopo especificado. Bem como, a class, responsável por instanciar a classe do bean especificada (ou seja, criar um objeto da classe de bean), ela não deve ser abstrata.
Terá também como atributo o type que é usado principalmente com o atributo class ou beanName. Se usá-lo sem classe, nenhum bean será instanciado. E o scope: que representa o escopo do bean, podendo ser uma página, solicitação, sessão ou aplicativo. Entretanto, o padrão é page.
<jsp:useBean id= "calcula" class= "beans.BeanCursoJsp" type= "beans.BeanCursoJsp" scope= "page"/>
Agora dentro do corpo do método iremos trabalhar com o método calcula, onde a partir do id invocaremos o número e passaremos o argumento.
<%= calcula.calcula(50) %>
EM POUCAS PALAVRAS
A grande vantagem a ser explorada é a possibilidade de encapsularmos vários objetos em um único objeto, entretanto, ter que “setar” um método get e set para cada propriedade é um tanto quanto desanimador. Ainda assim, no próximo tutorial veremos na prática como isso funciona. Então, eu fico por aqui, nos vemos no próximo.