helloworld:design_pattern:bean:java
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
helloworld:design_pattern:bean:java [2015/08/08 10:03] – ↷ Page déplacée et renommée de helloworld:design_pattern:bean à helloworld:design_pattern:bean:java root | helloworld:design_pattern:bean:java [2020/04/26 23:00] (Version actuelle) – Conversion de <note> vers <WRAP> root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Les Beans ([[https:// | + | Les Beans ([[https:// |
- | <note important> | + | <WRAP center round important |
+ | Dans le cas d'une propriété de type '' | ||
+ | </WRAP> | ||
- | =====Java===== | + | =====Cas général===== |
<file java BeanPersonne.java> | <file java BeanPersonne.java> | ||
package com.llgc; | package com.llgc; | ||
Ligne 55: | Ligne 57: | ||
</ | </ | ||
- | <note>Tous les Bean doivent contenir un constructeur sans argument. Lorsque aucun constructeur n'est défini, un constructeur sans argument est implicitement créé par Java. Cependant, si un constructeur avec argument est déclaré, il conviendra de déclarer explicitement le constructeur sans argument.</ | + | <WRAP center round info 60%> |
+ | Tous les Bean doivent contenir un constructeur sans argument. Lorsque aucun constructeur n'est défini, un constructeur sans argument est implicitement créé par Java. Cependant, si un constructeur avec argument est déclaré, il conviendra de déclarer explicitement le constructeur sans argument. | ||
+ | </WRAP> | ||
+ | =====JSP et JSF===== | ||
+ | Dans le cas d'une utilisation du Bean via JSP et JSF, il est nécessaire de passer la classe en bean managé ('' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Si un attribut est managé (avec '' | ||
+ | |||
+ | Le cycle de vie d'un Bean passe par le constructeur, | ||
+ | </ | ||
+ | |||
+ | <code java> | ||
+ | package com.llgc; | ||
+ | |||
+ | import java.util.Arrays; | ||
+ | |||
+ | import javax.annotation.PostConstruct; | ||
+ | import javax.faces.bean.ManagedBean; | ||
+ | import javax.faces.bean.ManagedProperty; | ||
+ | |||
+ | @ManagedBean | ||
+ | public class BeanPersonne | ||
+ | { | ||
+ | @ManagedProperty(value="# | ||
+ | private int taille; | ||
+ | @ManagedProperty(value="# | ||
+ | private boolean yeuxBleus; | ||
+ | @ManagedProperty(value="# | ||
+ | private int[] diplomes; | ||
+ | | ||
+ | @PostConstruct | ||
+ | private void init () | ||
+ | { | ||
+ | setTaille (150); | ||
+ | setYeuxBleus (true); | ||
+ | setDiplomes (null); | ||
+ | } | ||
+ | |||
+ | public int getTaille () | ||
+ | { | ||
+ | return taille; | ||
+ | } | ||
+ | |||
+ | public void setTaille (int taille) | ||
+ | { | ||
+ | this.taille = taille; | ||
+ | } | ||
+ | |||
+ | public boolean isYeuxBleus () | ||
+ | { | ||
+ | return yeuxBleus; | ||
+ | } | ||
+ | |||
+ | public void setYeuxBleus (boolean yeuxBleus) | ||
+ | { | ||
+ | this.yeuxBleus = yeuxBleus; | ||
+ | } | ||
+ | |||
+ | public int[] getDiplomes () | ||
+ | { | ||
+ | return diplomes; | ||
+ | } | ||
+ | |||
+ | public void setDiplomes (int[] diplomes) | ||
+ | { | ||
+ | this.diplomes = diplomes; | ||
+ | } | ||
+ | |||
+ | public int getDiplomes (int index) | ||
+ | { | ||
+ | return diplomes[index]; | ||
+ | } | ||
+ | |||
+ | public void setDiplomes (int index, int diplome) | ||
+ | { | ||
+ | this.diplomes[index] = diplome; | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public String toString () | ||
+ | { | ||
+ | return " | ||
+ | + " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | =====Support des Listener===== | ||
Il est également possible de configurer un Bean pour être surveillé dans ces modifications voir même empêché par un autre composant. | Il est également possible de configurer un Bean pour être surveillé dans ces modifications voir même empêché par un autre composant. | ||
Ligne 127: | Ligne 216: | ||
} | } | ||
</ | </ | ||
- | |||
- | Dans le cas d'une utilisation du Bean depuis l' | ||
- | <code java> | ||
- | @PostConstruct | ||
- | public void init () | ||
- | { | ||
- | setTaille (150); | ||
- | setYeuxBleus (true); | ||
- | setDiplomes (null); | ||
- | } | ||
- | </ |
helloworld/design_pattern/bean/java.1439020987.txt.gz · Dernière modification : 2015/08/08 10:03 de root