JavaBean é uma classe Java especial, um componente reutilizável escrito em linguagem Java e está em conformidade com a especificação da API JavaBeans.
A seguir estão os recursos exclusivos do JavaBean em comparação com outras classes Java:
Forneça um construtor padrão sem argumentos.
Precisa ser serializado e implementa a interface Serializable.
Pode haver uma variedade de propriedades legíveis e graváveis.
Pode haver uma série de métodos "getter" ou "setter".
As propriedades de um objeto JavaBean devem estar acessíveis. Esse atributo pode ser qualquer tipo de dados Java legal, incluindo classes Java customizadas.
As propriedades de um objeto JavaBean podem ser leitura-gravação, somente leitura ou somente gravação. As propriedades de um objeto JavaBean são acessadas através de dois métodos fornecidos na classe de implementação JavaBean:
método | descrever |
---|---|
getPropertyName () | Por exemplo, se o nome do atributo for myName, então o nome do método deverá ser escrito como getMyName() para ler o atributo. Este método também é chamado de acessador. |
setPropertyName () | Por exemplo, se o nome do atributo for myName, então o nome do método deverá ser escrito como setMyName() para escrever o atributo. Este método também é chamado de escritor. |
Uma propriedade somente leitura fornece apenas o método getPropertyName() e uma propriedade somente gravação fornece apenas o método setPropertyName().
Este é o arquivo StudentBean.java:
pacote com.tutorialspoint;classe pública StudentsBean implementa java.io.Serializable{ private String firstName = null; private String lastName = null; private int age = 0; String getLastName(){ return lastName } public int getAge(){ return idade } public void setFirstName(String firstName){ this.firstName = primeiroNome; } public void setLastName(String lastName){ this.lastName = lastName } public void setAge(Integer idade){ this.age = idade }}
Compile o arquivo StudentBean.java, que será usado no exemplo final deste capítulo.
A tag <jsp:useBean> pode declarar um JavaBean em JSP e então usá-lo. Após a declaração, os objetos JavaBean tornam-se variáveis de script e podem ser acessados através de elementos de script ou outras tags customizadas. O formato de sintaxe da tag <jsp:useBean> é o seguinte:
<jsp:useBean id="nome do bean" scope="escopo do bean" typeSpec/>
Dentre eles, dependendo da situação específica, o valor do escopo pode ser página, solicitação, sessão ou aplicação. O valor do id pode ser arbitrário, desde que não seja igual ao valor do id em outro <jsp:useBean> no mesmo arquivo JSP.
O que se segue é um uso simples da tag <jsp:useBean>:
<html><head><title>Exemplo de useBean</title></head><body><jsp:useBean id="date" /> <p>A data/hora é <%= data %></body </html>
Produzirá os seguintes resultados:
A data/hora é quinta-feira, 30 de setembro, 11:18:11 GST de 2013
No corpo da tag <jsp:useBean>, use a tag <jsp:getProperty/> para chamar o método getter e use a tag <jsp:setProperty/> para chamar o método setter.
<jsp:useBean id="id" scope="escopo do bean"> <jsp:setProperty name="id do bean" property="nome da propriedade" value="value"/> <jsp:getProperty name="id do bean" propriedade ="nome da propriedade"/> ...........</jsp:useBean>
O atributo name refere-se ao atributo id do Bean. O atributo property refere-se ao método getter ou setter que você deseja chamar.
A seguir, é fornecido um exemplo simples de acesso a atributos usando a sintaxe acima:
<html><head><title>obter e definir propriedades Exemplo</title></head><body><jsp:useBean id="students" > <jsp:setProperty name="students" property="firstName" valor ="Zara"/> <jsp:setProperty name="students" property="lastName" value="Ali"/> <jsp:setProperty name="students" property="age" value="10"/></jsp:useBean><p>Nome do aluno: <jsp:getProperty name="students" property="firstName"/></p><p>Sobrenome do aluno: <jsp: getProperty name="students" property="lastName"/></p><p>Idade do aluno: <jsp:getProperty name="students" property="age"/></p></body></html >
Adicione StudentBean.class à variável de ambiente CLASSPATH e acesse o JSP acima. Os resultados da execução são os seguintes:
Nome do aluno: Zara Sobrenome do aluno: Ali Idade do aluno: 10