JSP JavaBean


JavaBean est une classe Java spéciale, écrite en langage Java, et conforme à la spécification de l'API JavaBean.

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 ».


Propriétés JavaBean

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 les deux méthodes fournies dans la classe d'implémentation JavaBean :

方法描述
getPropertyName() 举例来说,如果属性的名称为myName,那么这个方法的名字就要写成getMyName()来读取这个属性。这个方法也称为访问器。
setPropertyName() 举例来说,如果属性的名称为myName,那么这个方法的名字就要写成setMyName()来写入这个属性。这个方法也称为写入器。

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().


Exemple de programme JavaBean

Voici le fichier StudentBean.java :

package com.php;

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;
   }
}

Compilez le fichier StudentBean.java (sera utilisé dans le dernier exemple) :

$ javac StudentsBean.java

Après la compilation, récupérez le fichier StudentBean.class et copiez-le dans <JSP Project>/WebContent/WEB-INF/classes/com/php, comme montré dans la figure ci-dessous :

DDBE2229-22EF-45A5-B64A-EA1B74C7F43E.jpg


Accéder à JavaBean

<jsp:useBean> peut déclarer un JavaBean dans JSP puis 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="bean 的名字" scope="bean 的作用域" typeSpec/>

Parmi eux, selon la situation spécifique, la valeur de la portée peut être une page, une requête, 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> :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>useBean 实例</title>
</head>
<body>

<jsp:useBean id="date" class="java.util.Date" /> 
<p>日期为:<%= date %>

</body>
</html>

Elle produira les résultats suivants :

日期为:Tue Jun 28 15:22:24 CST 2016

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

utilise la balise <jsp:getProperty/> dans le corps de la balise <jsp:useBean> pour appeler la balise getter, utilisez la balise <jsp:setProperty/> pour appeler la méthode setter Le format de syntaxe est le suivant :

<jsp:useBean id="id" class="bean 编译的类" scope="bean 作用域">
   <jsp:setProperty name="bean 的 id" property="属性名"  
                    value="value"/>
   <jsp:getProperty name="bean 的 id" property="属性名"/>
   ...........
</jsp:useBean>

name. L'attribut 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.

Ce qui suit est un exemple simple d'utilisation de la syntaxe ci-dessus pour l'accès aux attributs :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>get 和 set 属性实例</title>
</head>
<body>

<jsp:useBean id="students" 
                    class="com.php.StudentsBean"> 
   <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>

Accédez au JSP ci-dessus, et les résultats d'exécution sont les suivants :

学生名字: 小强

学生姓氏: 王

学生年龄: 10