Maison > Java > javaDidacticiel > Convertisseurs JSF

Convertisseurs JSF

WBOY
Libérer: 2024-08-30 15:14:11
original
612 Les gens l'ont consulté

Dans l'application JSF (JavaServer Faces), les entrées utilisateur sont envoyées au serveur en utilisant une requête http comme requête client. Ces entrées utilisateur sont appelées valeurs. Ces valeurs de requête sont envoyées au serveur sous la forme d'une chaîne. Cependant, l'application JSF utilise différents types de données tels que int, float, double, String, Boolean, date, etc. Par conséquent, avant que les valeurs de la demande ne soient traitées, elles doivent être transformées dans les types de données appropriés. Ce processus de transformation est appelé conversion. Dans cette rubrique, nous allons en apprendre davantage sur les convertisseurs JSF.

PUBLICITÉ Cours populaire dans cette catégorie Visages du serveur Java JSF - Parcours d'apprentissage | Série de 6 cours

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Pour effectuer la conversion dans l'application JSF, le framework JSF fournit des convertisseurs standards. Ces convertisseurs sont fournis en tant que balise dans la bibliothèque de balises principale de JSF. De plus, vous pouvez créer vos propres convertisseurs pour répondre aux exigences de l'application.  Ces convertisseurs sont appelés convertisseurs personnalisés.

Balises de conversion

Dans l'application JSF, les données saisies par les utilisateurs dans les composants de l'interface utilisateur doivent être converties dans un format approprié avant de pouvoir être traitées par une application. Le tableau suivant répertorie les balises standard fournies par la bibliothèque de balises principale JSF pour effectuer des conversions.

Balises principales JSF pour la conversion des données –

f:converter – Cette balise est utilisée pour ajouter un convertisseur arbitraire au composant parent de l'instance.

Exemple 

<f:converter converterId = "javax.faces.Integer"/>
Copier après la connexion

f:convertNumber – Cette balise est utilisée pour ajouter une instance « NumberConverter » au composant parent.

Exemple 

<c:convertNumber type = "javax.faces.Integer"/>
Copier après la connexion

f:convertDateTime – Cette balise est utilisée pour ajouter une instance « DateTimeConverter » au composant parent.

Exemple 

<f:convertDateTime pattern = "dd/mm/yyyy"/>
Copier après la connexion

Le framework JSF fournit des convertisseurs standards pour les nombres et les dates. Parfois, dans une application, nous devons convertir l'entrée utilisateur en types de données numériques et date, afin de pouvoir utiliser le framework JSF pour fournir des convertisseurs standard. Tous les convertisseurs standards contiennent dans le framework JSF javax.faces.convertpackage. Tous les convertisseurs sont implicitement appliqués en fonction de la valeur du composant et si nous voulons accéder à ces convertisseurs, nous pouvons y accéder par ID de convertisseur.

Convertisseurs du framework JSF

La classe IntegerConverter qui permet de convertir les valeurs de chaîne d'entrée de l'utilisateur en valeurs de type java.lang.Integer et son identifiant de convertisseur est javax.faces.Integer.

Exemple

<h:inputText id="age" converter="javax.faces.Integer" />
Copier après la connexion
Copier après la connexion

La classe BigIntegerConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en valeurs de type java.lang.BigInteger et son identifiant de convertisseur est javax.faces.BigInteger.

Exemple

<h:inputText id="age" converter="javax.faces.Integer" />
Copier après la connexion
Copier après la connexion

La même manière peut être utilisée pour les différents types entiers.

La classe ShortConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en java.lang.Short type de valeurs et son ID de convertisseur est javax.faces.Short.

La classe LongConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en valeurs de type java.lang.Short et son identifiant de convertisseur est javax.faces.Long.

La classe NumberConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en java.lang.Number type de valeurs et son ID de convertisseur est javax.faces.Number.

Exemple

<h:outputText value="#{userBean.height}">
<f:convertNumber maxFractionDigits="2" />
</h:outputText>
Copier après la connexion

La classe FloatConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en valeurs de type java.lang.Float et son ID de convertisseur est javax.faces.Float.

La classe BigDecimalConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en java.lang. Le type de valeurs BigDecimal et son identifiant de convertisseur est javax.faces.BigDecimal.

La classe DoubleConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en java.lang. Double type de valeurs et son ID de convertisseur est javax.faces.Double.

La classe ByteConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en type java.lang.Byte de valeurs et son ID de convertisseur est javax.faces.Byte.

La classe CharacterConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en java.lang. Le type de caractère des valeurs et son identifiant de convertisseur est javax.faces.Character.

La classe BooleanConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en valeurs de type java.lang.Boolean et son identifiant de convertisseur est javax.faces.Boolean.

La classe DateTimeConverter qui permet de convertir les valeurs de chaîne d'entrée utilisateur en java.lang. Le type de valeurs DateTime et son identifiant de convertisseur est javax.faces.Datetime.

The EnumConverter class which uses to convert user input string values into java.lang. Enum type of values and its conveter id is javax.faces.Enum.

1. convertDateTime  Tag

The JSF convertDateTime contains the following attributes to convert the Date time format.

  • dateStyle – This attribute specifies the formatting style for the date of a date string is to be formatted.
  • locale – This attribute specifies to represent a date in Locale format.
  • pattern – This attribute specifies the formatting pattern to be the format.
  • timeStyle – This attribute specifies the Predefined formatting style for the date of a date string is to be formatted.
  • timeZone – This attribute specifies the Time zone for the date of a date string is to be formatted.
  • type – This attribute specifies the date or/and time or both to be formatted.

Example

<h:inputText id="DOB" label = "Date of Birth" value="#{bean.DOB }">
<f:convertDateTime pattern="dd/mm/yyyy" />
</h:inputText>
Copier après la connexion

2. convertNumber Tag

The JSF convertNumber contains the following attributes to convert Number format. currencyCode – This attribute specifies to apply the currency format.

  • currencySymbol – This attribute specifies to apply the currency format.
  • groupingUsed – This attribute specifies whether the formatted output has grouping separators or not.
  • integerOnly – This attribute specifies whether only an integer part format or not.
  • locale – This attribute specifies to represent the number in Locale format.
  • minFractionDigits – This attribute specifies the minimum number of digits in the fractional part.
  • maxFractionDigits – This attribute specifies the maximum number of digits in the fractional part.
  • minIntegerDigits – This attribute specifies the minimum number of digits in the integer part.
  • maxIntegerDigits – This attribute specifies the maximum number of digits in the integer part.
  • pattern – This attribute specifies the formatting pattern to be the format.
  • type – This attribute specifies whether the type of number, percent and currency.

Example

<h:outputText value = "#{bean.height}">
<f:convertNumber maxFractionDigits = "1" />
</h:outputText>
Copier après la connexion

Let’s see an example of the JSF project.

Create index.xhtml with the following code.

<!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://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:form>
<h:outputLabel for="name">Name : </h:outputLabel>
<h:inputText id="name" value="#{Emp.name}"/><br/>
<h:outputLabel for="eid">Eid : </h:outputLabel>
<h:inputText id="eid" value="#{Emp.eid}">
<h:outputLabel for="sal">Salary : </h:outputLabel>
<h:inputText id="sal" value="#{Emp.sal}">
<f:converter converterId="javax.faces.Integer" />
</h:inputText><br/>
<h:commandButton action="disp.xhtml" value="Submit Query"/>
</h:form>
</html>
Copier après la connexion

Create Emp.java class with the following code in the project.

package jsfp;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class Emp {
String name;
String eid;
int sal;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEid() {
return eid;
}
public void setEid(String eid) {
this.eid = eid;
}
public int getSal() {
return sal;
}
public void setSal(int sal) {
this.sal = sal;
}
}
Copier après la connexion

Create disp.xhtml for the response with the following code.

<!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://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Reply Page</title>
</h:head>
<h:body>
<h:outputText value="Welcome #{Emp.name}. Your eid is #{Emp.eid}. Your Salary is #{Emp.sal}."/>
</h:body>
</html>
Copier après la connexion

An output of the above project in the sequence is –

Convertisseurs JSF

You fill the details as below –

Convertisseurs JSF

Once you click the button the output is –

Convertisseurs JSF

Conclusion

The user inputs are sent to the server using an http request in the form of the string, the request values to be processed first need to be transformed into the appropriate data types such as int, float, double, String, Boolean, date, and so on by using the JSF Converters of JSF framework.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal