English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JavaBean è una classe Java speciale, scritta in Java e che segue le specifiche dell'API JavaBean.
Di seguito sono riportate le caratteristiche uniche di JavaBean rispetto ad altre classi Java:
Fornire un costruttore senza parametri predefinito.
Deve essere serializzabile ed implementare l'interfaccia Serializable.
Può esserci una serie di proprietà leggibili e scrivibili.
Può esserci una serie di getter o setter Metodi.
Un oggetto JavaBean deve avere proprietà accessibili. Questa proprietà può essere di qualsiasi tipo di dati Java legittimo, inclusi classi Java personalizzate.
Un attributo di un oggetto JavaBean può essere lettabile e scrivibile, o solo lettabile, o solo scrivibile. Gli attributi degli oggetti JavaBean possono essere acceduti attraverso due metodi forniti dalla classe implementativa JavaBean: }}
Metodo | Descrizione |
---|---|
getPropertyName() | Per esempio, se il nome dell'attributo è myName, il nome del metodo deve essere scritto come getMyName() per leggere questo attributo. Questo metodo è noto anche come lettore. |
setPropertyName() | Per esempio, se il nome dell'attributo è myName, il nome del metodo deve essere scritto come setMyName() per scrivere questo attributo. Questo metodo è noto anche come scrittore. |
Un attributo di sola lettura fornisce solo il metodo getPropertyName(), un attributo di sola scrittura fornisce solo il metodo setPropertyName().
Questo è il file StudentBean.java:
package com.w3codebox; public class StudentsBean implements java.io.Serializable { private String firstName = null; private String lastName = null; private int age = 0; public StudentsBean() { } public String getFirstName(){ return firstName; } public String getLastName(){ return lastName; } public int getAge(){ return age; } public void setFirstName(String firstName){ this.firstName = firstName; } public void setLastName(String lastName){ this.lastName = lastName; } public void setAge(int age) { this.age = age; } }
Compilare il file StudentBean.java (sarà utilizzato nell'esempio finale):
$ javac StudentsBean.java
E ottieni il file compilato StudentBean.class Copia il file <Progetto JSP>/WebContent/WEB-INF/classes/com/w3codeboxcome indicato nella figura seguente:
Il tag <jsp:useBean> può dichiarare un JavaBean in un JSP e utilizzarlo. Dopo la dichiarazione, l'oggetto JavaBean diventa una variabile di script e può essere accessibile tramite elementi di script o tag personalizzati. La sintassi del tag <jsp:useBean> è la seguente:
<jsp:useBean id="nome del bean" scope="intervallo di applicazione del bean" typeSpec/>
Secondo la具体情况, il valore di scope può essere page, request, session o application. Il valore di id può essere qualsiasi, purché non coincida con altri valori di id nei tag <jsp:useBean> dello stesso file JSP.
Di seguito è fornito un esempio di utilizzo semplice del tag <jsp:useBean>:
<%@ pagina linguaggio="java" contentType="text/html; charset=UTF-8" %> pageEncoding="UTF-8"% <html> <head> <title>Esempio useBean</title> </head> <body> <jsp:useBean id="date"/> <p>Data: <%= date %> </body> </html>
Questo produrrà il seguente risultato:
La data è: Mar Lun 28 15:22:24 CST 2016
per <jsp:useBean> nel corpo del tag <jsp:getProperty/> tramite il tag getter Il metodo utilizza <jsp:setProperty/> tramite il tag setter Il formato della sintassi della方法是:
<jsp:useBean id="id" scope="intervallo di applicazione del bean"> <jsp:setProperty name="id del bean" property="nome attributo" value="valore"/> <jsp:getProperty name="id del bean" property="nome attributo"/> ........... </jsp:useBean>
L'attributo name si riferisce all'attributo id del Bean. L'attributo property si riferisce al metodo getter o setter da chiamare.
Di seguito è fornito un esempio semplice di accesso agli attributi utilizzando la sintassi sopra descritta:
<%@ pagina linguaggio="java" contentType="text/html; charset=UTF-8" %> pageEncoding="UTF-8"% <html> <head> <title>get 和 set 属性示例</title> </head> <body> <jsp:useBean id="students" > <jsp:setProperty name="students" property="firstName" value="小强"/> <jsp:setProperty name="students" property="lastName" value="王"/> <jsp:setProperty name="students" property="age" value="10"/> </jsp:useBean> <p>学生名字: <jsp:getProperty name="students" property="firstName"/> </p> <p>学生姓氏: <jsp:getProperty name="students" property="lastName"/> </p> <p>学生年龄: <jsp:getProperty name="students" property="age"/> </p> </body> </html>
访问以上 JSP,运行结果如下:
学生名字: 小强 学生姓氏: 王 学生年龄: 10