JSF - f: convertDateTime

f: la balise convertDateTime est utilisée pour convertir une valeur de chaîne en une date au format requis. Il agit également comme un validateur, un format de date obligatoire.

Balise JSF

<f:convertDateTime pattern = "dd-mm-yyyy" />

Attributs de balise

S. Non Attribut et description
1

type

date (par défaut), heure ou les deux

2

dateStyle

par défaut, court, moyen, long ou complet

3

timeStyle

par défaut, court, moyen, long ou complet

4

pattern

Modèle de formatage, tel que défini dans java.text.SimpleDateFormat

5

locale

Paramètres régionaux dont les préférences doivent être utilisées pour l'analyse et le formatage

6 timeZone

Fuseau horaire à utiliser pour l'analyse et la mise en forme

Exemple d'application

Créons une application JSF de test pour tester la balise ci-dessus.

Étape La description
1 Créez un projet avec un nom helloworld sous un package com.tutorialspoint.test comme expliqué dans le chapitre JSF - Première application .
2 Modifiez home.xhtml comme expliqué ci-dessous. Gardez le reste des fichiers inchangés.
3 Créez result.xhtml dans le répertoire webapps comme expliqué ci-dessous.
4 Créez UserData.java en tant que bean géré sous le package com.tutorialspoint.test comme expliqué ci-dessous.
5 Compilez et exécutez l'application pour vous assurer que la logique métier fonctionne conformément aux exigences.
6 Enfin, créez l'application sous la forme d'un fichier war et déployez-la dans Apache Tomcat Webserver.
sept Lancez votre application Web en utilisant l'URL appropriée, comme expliqué ci-dessous à la dernière étape.

UserData.java

package com.tutorialspoint.test;

import java.io.Serializable;
import java.util.Date;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name = "userData", eager = true)
@SessionScoped
public class UserData implements Serializable {
   private static final long serialVersionUID = 1L;
   public Date date;

   public Date getDate() {
      return date;
   }

   public void setDate(Date date) {
      this.date = date;
   }
}

home.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:h = "http://java.sun.com/jsf/html"
   xmlns:f = "http://java.sun.com/jsf/core">
   
   <h:head>
      <title>JSF tutorial</title>
   </h:head>
   
   <h:body>
      <h2>ConvertDateTime Example</h2>
      
      <h:form>
         <h:inputText id = "dateInput" value = "#{userData.date}"
            label = "Date" >
            <f:convertDateTime pattern = "dd-mm-yyyy" />
         </h:inputText>
         <h:commandButton value = "submit" action = "result"/>
      </h:form>
      <br/>
      <h:message for = "dateInput" style = "color:red" />
      
      <h:outputText value = "12-01-2012" >
         <f:convertDateTime pattern = "dd-mm-yyyy" />
      </h:outputText>
   
   </h:body>
</html>

result.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:f = "http://java.sun.com/jsf/core"
   xmlns:h = "http://java.sun.com/jsf/html"
   xmlns:ui = "http://java.sun.com/jsf/facelets">
   
   <h:body>
      <h2>Result</h2>
      <hr />
      #{userData.date}
   </h:body>
</html>

Une fois que vous êtes prêt avec tous les changements effectués, laissez-nous compiler et exécuter l'application comme nous l'avons fait dans le chapitre JSF - Première application. Si tout va bien avec votre application, cela produira le résultat suivant.

Entrez une valeur non valide et appuyez sur le bouton Soumettre. Consultez le message d'erreur suivant.

Entrez une valeur valide et appuyez sur le bouton Soumettre. Voir le résultat suivant.