La classe Personne annotée ManagedBean avec un cycle de vie de type requête
@ManagedBean(name = "personne")
@RequestScoped
public class Personne {
private int idp;
private String nom;
private String prenom;
private String courriel;
public Personne() {
super();
}
public String enregistrer() {
return "confirmation";
}
// get&set
Pour que le cycle de vie des objets de type Personne soit pris en charge par le cadriciel JSF, il faut
que la classe possède l'annotation @ManagedBean des composants JSF.
La portée d'un composant JSF (ManagedBean), sa durée de vie dépend de l'annotation @XScoped.
Ici la portée est limitée à la requête HTTP. L'annotation est donc @RequestScoped.
La page JSF index.xhtml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<f:view contentType="text/html"/>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>FORMULAIRE</title>
</head>
<body>
<h:form>
<h:panelGrid columns="2">
<h:outputLabel value="Nom :" />
<h:inputText value="#{personne.nom}"/>
<h:outputLabel value="Prénom :"/>
<h:inputText value="#{personne.prenom}"/>
<h:outputLabel value="Courriel :"/>
<h:inputText value="#{personne.courriel}"/>
<h:commandButton action="#{personne.enregistrer}" value="Enregistrer"/>
</h:panelGrid>
</h:form>
</body>
</html>
3/21 UVSQ-FC-VÉLIZY JJLC
obligatoire
correspond à un tableau HTML
avec 2 colonnes