FAQ JSFConsultez toutes les FAQ

Nombre d'auteurs : 8, nombre de questions : 70, dernière mise à jour : 10 juin 2008  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.


SommaireUtilisations des composants standardLes composants non visuels (10)
précédent sommaire suivant
 

Le composant view (qui fait partie du jeu de composants core) est utilisé comme conteneur de tous les composants JSF dans une page.

Le principal attribut de ce composant est :

attribut type Signification
locale EL ou chaîne La locale (paramètres régionaux) de la page courante

Exemples :

Code xml : Sélectionner tout
<f:view>...</f:view>
Code xml : Sélectionner tout
<f:view locale="fr">...</f:view>
Code xml : Sélectionner tout
<f:view locale="#{bean.locale}">...</f:view>

Mis à jour le 12 février 2008 djo.mos

Le composant subview (qui fait partie du jeu de composants core) est utilisé comme conteneur de tous les composants JSF dans une page incluse depuis une autre page JSF.

Les principaux attributs de ce composant sont :

attribut type Signification
id chaîne L'identifiant du composant (attribut obligatoire)
rendered EL ou booléen Si oui ou non ce composant est inclus dans la page résultante

Exemples :

Code xml : Sélectionner tout
<f:subview>...</f:subview>

Mis à jour le 12 février 2008 djo.mos

Le composant facet (qui fait partie du jeu de composants core) est utilisé pour définir une partie de son composant parent.
Il est utilisé par exemple dans les tables pour définir l'entête.

Le principal attribut de ce composant est :

attribut type Signification
name chaîne Le nom de la facet (attribut obligatoire)

Le composant facet n'a de sens que si le composant parent prévoit son utilisation.

Mis à jour le 12 février 2008 djo.mos

Le composant verbatim permet d'encapsuler du contenu HTML brut pour pouvoir l'inclure dans l'arbre de composants de JSF.

Le principal attribut de ce composant est :

attribut type Signification
escape EL ou booléen Si oui où non échapper le contenu HTML

Mis à jour le 12 février 2008 djo.mos

Le composant selectItem permet d'ajouter un choix à son composant parent qui doit être un composant de sélection parmi plusieurs choix (boutons radio, liste, etc.).

Les principaux attributs de ce composant sont :

attribut type Signification
itemLabel EL ou chaîne Le texte descriptif du choix
itemValue EL ou chaîne Le valeur du choix

Mis à jour le 12 février 2008 djo.mos

Le composant selectItems permet d'ajouter plusieurs choix à son composant parent qui doit être un composant de sélection parmi plusieurs choix (boutons radio, liste, etc.).

Le principal attribut de ce composant est :

attribut type Signification
value EL EL pointant vers un champ d'un managed bean de type List qui retourne une liste de javax.faces.model.SelectItem

Mis à jour le 12 février 2008 djo.mos

Pour indiquer qu'un champ est obligatoire, il faut mettre la valeur de l'attribut required à « true ».
exemple :

Code xml : Sélectionner tout
<h:inputText id="nom" value="#{bean.nom}" required="true">
Pour indiquer que la valeur d'un champ numérique de type entier est dans un intervalle [min..max], on utilise le composant validateLongRange :

Code xml : Sélectionner tout
1
2
3
<h:inputText id="quantity" value="#{unBean.quantity}"> 
 <f:validateLongRange maximum="10" minimum="0"/> 
</h:inputText>
Pour indiquer que la valeur d'un champ numérique de type réel est dans un intervalle [min..max], on utilise le composant validateDoubleRange :

Code xml : Sélectionner tout
1
2
3
<h:inputText id="quantity" value="#{unBean.quantity}"> 
 <f:validateDoubleRange maximum="5.5" minimum="2.23"/> 
</h:inputText>
Pour indiquer que la longueur d'un champ textuel est dans un intervalle [min..max], on utilise le composant validateLength :

Code xml : Sélectionner tout
1
2
3
<h:inputText id="quantity" value="#{unBean.quantity}"> 
 <f:validateLength minimum="2" maximum="25" /> 
</h:inputText>

Mis à jour le 12 février 2008 Sniper37

En utilisant les composants <h:message /> et <h:messages />

<h:messages /> permet d'afficher les messages d'erreur générés par tous les validators présents dans une page sous forme d'une liste.

<h:message /> permet d'afficher les messages d'erreur générés par les validators attachés à un composant particulier, en utilisant l'attribut for.
exemple :

Code xml : Sélectionner tout
1
2
3
4
<h:inputText value="#{control.name}" required="true" id="name"> 
	<f:validateLength minimum="4" maximum="20" /> 
</h:inputText> 
<h:message for="name" />

Mis à jour le 12 février 2008 djo.mos

Les converters permettent de convertir une valeur entre un composant et un champ d'un managed bean (dans les deux sens).

JSF offre deux converters standard qui sont convertDateTime et convertNumber.

convertDateTime permet de convertir la valeur d'un champ texte en une date ou temps et ce, selon un pattern que l'on peut spécifier (le même que pour SimpleDateFormat) :

Code xml : Sélectionner tout
1
2
3
<h:inputText value="#{control.birthDate}" id="date"> 
	<f:convertDateTime pattern="dd/MM/yyyy" type="date" /> 
</h:inputText>
convertDateTime peut aussi être utilisé pour faire la conversion dans l'autre sens, c'est-à-dire convertir un champ de type Date en une chaîne qu'on contrôle via le pattern :

Code xml : Sélectionner tout
1
2
3
<h:outputText value="#{control.birthDate}" id="date"> 
	<f:convertDateTime pattern="dd/MM/yyyy" type="date" /> 
</h:outputText>
convertNumber permet de convertir depuis et vers un nombre :

Code xml : Sélectionner tout
1
2
3
4
5
6
7
<h:inputText value="#{control.age}" > 
	<f:convertNumber pattern="##" /> 
</h:inputText> 
  
<h:outputText value="#{control.age}" > 
	<f:convertNumber pattern="## ans" /> 
</h:outputText>
Le pattern ## indique que le nombre est sur deux chiffres.

Mis à jour le 12 février 2008 djo.mos

Le composant setPropertyActionListener du jeu de composants core permet d'affecter une valeur à une cible avant l'exécution d'une action donnée.

Il doit obligatoirement être défini comme fils d'un composant d'action (commandLink, commandButton).

Les principaux attributs de ce composant sont :

attribut type Signification
target EL pointant vers un champ Le champ cible (auquel la valeur sera affectée)
value EL ou littéral La valeur à affecter au champ cible

Exemple :

Code xml : Sélectionner tout
1
2
3
4
5
<h:commandLink action="#{bean.deleteSomething}"> 
	<h:outputText value="#{something.name}" /> 
	<f:setPropertyActionListener value="#{something}" 
		target="#{bean.selectedSomething}" /> 
</h:commandLink>
À l'exécution de l'action bean.deleteSomething, on est assuré que la valeur de #{something} a été affectée au champ bean.selectedSomething.

Mis à jour le 12 février 2008 djo.mos

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsables bénévoles de la rubrique Java Web : Mickael Baron - Robin56 -