English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaBean JSP

JavaBean est une classe Java spéciale, écrite en Java et suivant les normes de l'API JavaBean.

Ce qui suit est une caractéristique unique de JavaBean par rapport à d'autres classes Java :

  • Fournir un constructeur par défaut sans paramètres.

  • Doit être sérialisé et implémenter l'interface Serializable.

  • peut y avoir une série d'attributs lecture/écriture.

  • peut y avoir une série de getters ou setter méthode.

Attributs JavaBean

Les attributs d'un objet JavaBean doivent être accessibles. Cet attribut peut être de n'importe quel type de données Java légal, y compris les classes Java personnalisées.

Les attributs d'un objet JavaBean peuvent être lecture/écriture, lecture seule ou écriture seule. Les attributs d'un objet JavaBean sont accessibles via deux méthodes fournies par la classe implémentant JavaBean :

méthodedescription
getPropertyName() Par exemple, si le nom de l'attribut est myName, alors le nom de cette méthode doit être écrit getMyName() pour lire cet attribut. Cette méthode est également appelée accesseur.
setPropertyName() Par exemple, si le nom de l'attribut est myName, alors le nom de cette méthode doit être écrit setMyName() pour écrire cet attribut. Cette méthode est également appelée destructeur.

Un attribut lecture seule fournit uniquement la méthode getPropertyName(), un attribut d'écriture seule fournit uniquement la méthode setPropertyName().

Exemple de programme JavaBean

Ceci est le fichier 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;
   {}
{}

Compilé le fichier StudentBean.java (l'exemple final utilisera):

$ javac StudentsBean.java

Compilé pour obtenir StudentBean.class Fichier, le copier dans <Projet JSP>/WebContent/WEB-INF/classes/com/w3codeboxcomme indiqué dans l'image suivante :

l'accès au JavaBean

L'étiquette <jsp:useBean> peut déclarer un JavaBean dans une page JSP et l'utiliser. Après la déclaration, l'objet JavaBean devient une variable de script et peut être accédé via des éléments de script ou des étiquettes personnalisées. La syntaxe de l'étiquette <jsp:useBean> est la suivante :

<jsp:useBean id="nom du bean" scope="portée du bean" typeSpec/>

Selon la situation spécifique, la valeur de scope peut être page, request, session ou application. La valeur de id peut être choisie librement tant qu'elle ne correspond pas à celle d'autres <jsp:useBean> dans le même fichier JSP.

Ensuite, voici une utilisation simple de l'étiquette <jsp:useBean> :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>Exemple useBean</title>/title>
</head>
<body>
<jsp:useBean id="date" /> 
<p>La date est : <%= date %>
</body>
</html>

Il produira le résultat suivant :

La date est : Mar  Jun 28 15:22:24 CST 2016

l'accès aux propriétés de l'objet JavaBean

dans <jsp:useBean> dans le corps de l'étiquette <jsp:getProperty/> par le biais de l'étiquette getter méthode, en utilisant <jsp:setProperty/> par le biais de l'étiquette setter La syntaxe de la méthode est la suivante :

<jsp:useBean id="id" scope="portée du bean">
   <jsp:setProperty name="id du bean" property="nom de l'attribut"  
                    value="valeur"/>
   <jsp:getProperty name="id du bean" property="nom de l'attribut"/>
   ...........
</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, voici un exemple simple d'accès aux propriétés en utilisant cette syntaxe :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>Exemple de get et set des attributs</title>
</head>
<body>
<jsp:useBean id="students" 
                   > 
   <jsp:setProperty name="students" property="firstName"
                    value="Xiaoqiang"/>
   <jsp:setProperty name="students" property="lastName" 
                    value="Wang"/>
   <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 famille de l'étudiant: 
   <jsp:getProperty name="students" property="lastName"/>
</p>
<p>Âge de l'étudiant: 
   <jsp:getProperty name="students" property="age"/>
</p>
</body>
</html>

Le résultat de l'exécution des JSP suivants est le suivant :

Prénom de l'étudiant: Xiaoqiang
Nom de famille de l'étudiant: Wang
Âge de l'étudiant: 10