JavaBean est une classe Java spéciale, un composant réutilisable écrit en langage Java et conforme à la spécification de l'API JavaBeans.
Voici les caractéristiques uniques de JavaBean par rapport aux autres classes Java :
Fournissez un constructeur par défaut sans argument.
Doit être sérialisé et implémente l’interface Serialisable.
Il peut exister une gamme de propriétés lisibles et inscriptibles.
Il peut y avoir une série de méthodes « getter » ou « setter ».
Les propriétés d'un objet JavaBean doivent être accessibles. Cet attribut peut être n'importe quel type de données Java légal, y compris les classes Java personnalisées.
Les propriétés d'un objet JavaBean peuvent être en lecture-écriture, en lecture seule ou en écriture seule. Les propriétés d'un objet JavaBean sont accessibles via deux méthodes fournies dans la classe d'implémentation JavaBean :
méthode | décrire |
---|---|
getPropertyName () | Par exemple, si le nom de l'attribut est myName, alors le nom de la méthode doit être écrit sous la forme getMyName() pour lire l'attribut. Cette méthode est également appelée accesseur. |
setPropertyName () | Par exemple, si le nom de l'attribut est myName, alors le nom de la méthode doit être écrit sous la forme setMyName() pour écrire l'attribut. Cette méthode est également appelée écrivain. |
Une propriété en lecture seule fournit uniquement la méthode getPropertyName() et une propriété en écriture seule fournit uniquement la méthode setPropertyName().
Voici le fichier StudentBean.java :
package com.tutorialspoint;classe publique StudentsBean implémente java.io.Serialised{ private String firstName = null; private String lastName = null; 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(Integer age){ this.age = age }}
Compilez le fichier StudentBean.java, qui sera utilisé dans le dernier exemple de ce chapitre.
La balise <jsp:useBean> permet de déclarer un JavaBean dans JSP puis de l'utiliser. Après déclaration, les objets JavaBean deviennent des variables de script et sont accessibles via des éléments de script ou d'autres balises personnalisées. Le format de syntaxe de la balise <jsp:useBean> est le suivant :
<jsp:useBean id="nom du bean" scope="portée du bean" typeSpec/>
Parmi eux, selon la situation spécifique, la valeur de la portée peut être une page, une demande, une session ou une application. La valeur de l'identifiant peut être arbitraire tant qu'elle n'est pas la même que la valeur de l'identifiant dans d'autres <jsp:useBean> du même fichier JSP.
Ce qui suit est une utilisation simple de la balise <jsp:useBean> :
<html><head><title>Exemple useBean</title></head><body><jsp:useBean id="date" /> <p>La date/heure est <%= date %></body ></html>
Il produira les résultats suivants :
La date/heure est le jeu. 30 septembre 11:18:11 GST 2013.
Dans le corps de la balise <jsp:useBean>, utilisez la balise <jsp:getProperty/> pour appeler la méthode getter et utilisez la balise <jsp:setProperty/> pour appeler la méthode setter. Le format de syntaxe est le suivant :
<jsp:useBean id="id" scope="portée du bean"> <jsp:setProperty name="identifiant du bean" property="nom de la propriété" value="valeur"/> <jsp:getProperty name="identifiant du bean" propriété ="nom de la propriété"/> ...........</jsp:useBean>
L'attribut name fait référence à l'attribut id du Bean. L'attribut property fait référence à la méthode getter ou setter que vous souhaitez appeler.
Ensuite, un exemple simple d'accès aux attributs utilisant la syntaxe ci-dessus est donné :
<html><head><title>Exemple d'obtention et de définition de propriétés</title></head><body><jsp:useBean id="students" > <jsp:setProperty name="students" property="firstName" value ="Zara"/> <jsp:setProperty name="students" property="lastName" value="Ali"/> <jsp:setProperty name="students" property="age" value="10"/></jsp:useBean><p>Prénom de l'étudiant : <jsp:getProperty name="students" property="firstName"/></p><p>Nom de l'étudiant : <jsp : getProperty name="students" property="lastName"/></p><p>Âge de l'étudiant : <jsp:getProperty name="students" property="age"/></p></body></html >
Ajoutez StudentBean.class à la variable d'environnement CLASSPATH, puis accédez au JSP ci-dessus. Les résultats d'exécution sont les suivants :
Prénom de l'étudiant : Zara Nom de l'étudiant : Ali Âge de l'étudiant : 10