Table des matières

Cette page nécessite de connaître les JSF.

Schéma MVC

Schéma MVC pour JSF

JSF : un framework MVC Archive du 2013 le 27/04/2020

Exemple

Controleur

CtrlJSF.java
package com.llgc.controleur;
 
import java.sql.SQLException;
 
import javax.faces.bean.ManagedBean;
 
import com.llgc.modele.ModeleVoiture;
import com.llgc.modele.pojo.POJOVoiture;
 
@ManagedBean
public class CtrlJSF {
  private ModeleVoiture modele = new ModeleVoiture();
  private POJOVoiture voiture = new POJOVoiture();
 
  public POJOVoiture getVoiture() {
    return voiture;
  }
 
  public void setVoiture(POJOVoiture voiture) {
    this.voiture = voiture;
  }
 
  public String doValidation() {
    try {
      modele.create(voiture);
    } catch (ClassNotFoundException | SQLException e) {
      return "error.xhtml";
    }
    return "index.xhtml";
  }
}

Modèle

Voir JSP.

Vue

index.xhtml
<!DOCTYPE html>
<html xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core">
<f:view>
  <h:head>
    <meta charset="UTF-8" />
    <title>Insert title here</title>
  </h:head>
  <h:body>
    <h:form>
      <span class="label_nav"><h:outputLabel value="nom" /></span>
      <h:inputText id="nom" required="true" value="#{ctrlJSF.voiture.nom}" /><br />
      <span class="label_nav"><h:outputLabel value="poids" /></span>
      <h:inputText id="poids" required="true" value="#{ctrlJSF.voiture.poids}" /><br />
      <span class="label_nav"><h:outputLabel value="marque" /></span>
      <h:inputText id="marque" required="true" value="#{ctrlJSF.voiture.marque}" /><br />
      <h:commandButton value="Validation" id="button" action="#{ctrlJSF.doValidation}" />
    </h:form>
    <h:messages style="color:red" />
  </h:body>
</f:view>
</html>