Um JavaBean também conhecido como Bean é uma especificação que define um conjunto de convenções de programação para classes Java que são usadas como componentes conectáveis. Os Beans geralmente representam classes como Produtos, Fornecedores, Pessoas entre outras e podem ser utilizados em paginas JSP puras ou juntamente com os Servlets. É importante não confundir os JavaBeans com os Enterprise JavaBeans, ambos são amplamente utilizados em aplicações web escritas em Java, e veremos muito mais sobre eles nos próximos posts da categoria Java.
Um JavaBean pode encapsular todas as informações sobre o item que ele representa em um pacote simples. Suponha que você tenha um Bean contendo informações sobre um funcionário, como o nome do funcionário, data de admissão, e-mail, endereço e etc. Você pode passar este Bean para outros componentes, fornecendo todas as informações sobre o funcionário de uma única vez. Você também pode adicionar mais informações sobre o funcionário, basta criar mais propriedades no JavaBean. Um outro benefício da utilização de um Bean é poder encapsular todas as regras sobre suas propriedades.
Para usar um Javabean em uma página, você deve informar ao contêiner JSP o tipo de Bean e associá-lo com um nome e uma classe, em outras palavras, você deve declarar o Bean. Você pode fazer isto utilizando as tags JSP:
<jsp:useBean id="meubean" class="org.desenvolvimento.aberto.MeuBean" />
Após ter declarado o JavaBean você pode utilizar suas propriedades para retornar ou adicionar o valor correspondente a uma propriedade, para retornar um valor você pode utilizar a instrução getProperty, adicionando aos atributos o identificador do seu Bean e a propriedade que deseja retornar:
<jsp:getProperty name="meubean" property="arquivos" />
Exemplo:
Neste exemplo utilizamos o JavaBean criando uma classe Java bem comum que serve para inicializar uma lista de imagens em uma pagina JSP.
Obs: O projeto criado no Eclipse na imagem acima utiliza o tipo Apache Maven com um arquétipo webapp e o Apache Tomcat, apesar de você poder utilizar um projeto web dinâmico padrão do Java EE, o ideal é manter esta configuração pois é a configuração utilizada em projetos profissionais, você encontra informações de como instalar, configurar e utilizar o Apache Maven e o Tomcat ou qualquer outra ferramenta utilizada neste site na categoria Java.
Java
package org.desenvolvimento.aberto; import java.util.*; public class MeuBean { // declara propriedades private static int indice = -1; private List<String> arquivos; // Construtor da classe // Por convenção um Java Bean não possui // parâmentros no construtor public MeuBean() { listaInicial(); } // Método Getter public String getArquivos() { indice++; if (indice > arquivos.size() - 1) { indice = 0; } return (String) arquivos.get(indice); } // Metodo inicializado no construtor da classe private void listaInicial() { arquivos = new ArrayList<String>(); arquivos.add("imagem-verde.jpg"); } }
JSP
<html> <head> <title>Desenvolvimento Aberto</title> </head> <body> <h1>JavaBean e Páginas JSP</h1> <jsp:useBean id="meubean" class="org.desenvolvimento.aberto.MeuBean" /> <img src="<jsp:getProperty name="meubean" property="arquivos" />"> </body> </html>