Tags : field - text - number - password - textarea - checkbox - file - date - suggest - fieldArea
Ces tags partagent une partie de code avec les tags de la taglib struts-html et en supportent presque tous les attributs des tags. Les différences principales sont :
Le mode d'affichage des champs peut être défini en utilisant FormUtils.setFieldDisplayMode(request, form, fieldName, mode).
Le code HTML placé dans le tag sera rendu après le tag input. Cela permet, par exemple, d'ajouter un bouton permettant de sélectionner une valeur pour la zone de saisie dans une fenêtre popup.
| Nom de l'attribut | Description |
|---|---|
| accesskey | Le caractère du clavier à utiliser pour se placer immédiatement sur cet élément. |
| arg0, arg1, arg2, arg3, arg4 | Valeurs optionnelles des paramètres de remplacement. [EL] |
| bundle | La clé de l'instance de MessageResources à utiliser. Si non spécifié, choisit par défaut l'application resources configuré pour la servlet action. |
| hint | Clé d'un message d'indice à afficher comme tooptil text sur l'étiquette. |
| isRequired |
Si cet attribut vaut true, une étoile rouge est affichée après la zone de saisie si sa valeur est null.
Valeurs possibles : true | false.
Par défaut : false. [EL]
|
| key | Clé de l'étiquette à afficher. Si cette clé n'a pas de valeur correspondante dans les messages, la clé est affichée. |
| layout |
Si cet attribut vaut false, le tag ne génère pas le code de disposition HTML
(ie ne génère que le tag <input>).
Cela permet d'utiliser uniquement le framework "display mode" de struts-layout.
|
| layoutId |
Identifiant DHTML du tag.
Cet attribut permet d'afficher/cacher le tag grâce au code suivant : document.getElementById(layoutId + "F").style = "none" pour cacher (ou "" pour afficher); document.getElementById(layoutId + "L").style = "none" pour cacher (ou "" pour afficher); layoutId + "F" correspond à la zone de saisie, layoutId + "L" à l'étiquette. |
| mode | Mode d'affichage de la zone de saisie. Le mode doit être de la forme <create field mode>,<edit field mode>,<inspect field mode>. Valeurs possibles : E (editable), I (inspectable+hidden, ie read-only), N (not displayed), H (hidden), P (inspect si présent), S (show, inspect mais non caché), R (read-only), D (disabled) |
| name | Nom du bean du contexte pageContext, request, session ou application dont on veut éditer une propriété. La valeur par défaut est le bean du formulaire struts |
| onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup | Gestionnaires d'événements JavaScript. [EL] |
| policy | Nom de la politique d'affichage |
| property | Propriété du bean à voir/éditer. [EL] |
| styleClass | Classe du style CSS à utiliser. |
| tabindex | L'ordre de tabulation pour cet élément (entiers positifs croissants). |
| tooltip | Clé d'un message à afficher comme tooptil text sur la zone de saisie. [EL] |
Rend un champ de saisie de texte.
Attributs
| Nom de l'attribut | Description |
|---|---|
| cols | Nombre de colonnes à afficher dans la zone. |
| disabled |
Vaut true si cette zone doit ê grisée.
|
| editType | En mode Edit, formate la valeur en utilisant le formatter struts-layout spécifié. [EL] |
| maxlength | Nombre maximal de colonnes de la zone. |
| readonly |
Vaut true si le champ doit être en lecture seule.
|
| rows | Nombre de lignes à afficher dans la zone. |
| size | Nombre de colonnes à afficher dans la zone. |
| style | Styles CSS devant être appliqués sur cet élément HTML. |
| styleId | Identifiant devant être assigné à élément HTML (rend un attribut "id"). |
| type | En mode Inspect, formate la valeur en utilisant le formatter struts-layout spécifié. [EL] |
| value | Valeur de la zone. |
Rend un champ de saisie de mot de passe.
Attributs
| Nom de l'attribut | Description |
|---|---|
| cols | Nombre de colonnes à afficher dans la zone. |
| maxlength | Nombre maximal de colonnes de la zone. |
| redisplay |
Si vaut true, réaffiche le mot de passe.
Notez que le mot de passe est lisible dans le code HTML généré
|
| rows | Nombre de lignes à afficher dans la zone. |
| size | Nombre de colonnes à afficher dans la zone. |
Rend un champ de saisie de texte multilignes.
Attributs
| Nom de l'attribut | Description |
|---|---|
| cols | Nombre de colonnes à afficher dans la zone. |
| maxlength | Nombre maximal de colonnes de la zone. |
| readonly |
Vaut true si le champ doit être en lecture seule.
|
| rows | Nombre de lignes à afficher dans la zone. |
| size | Nombre de colonnes à afficher dans la zone. |
| value | Valeur de la zone. |
Rend une case à cocher.
Attributs
| Nom de l'attribut | Description |
|---|---|
| maxlength | Nombre maximal de colonnes de la zone. |
| value | Valeur de la zone. |
Rend un champ de choix de fichier (upload ou download).
Attributs
| Nom de l'ttribut | Description |
|---|---|
| fileKey | Clé du texte à afficher comme nom de fichier. |
| fileName | Propriété du bean indiquant le nom du fichier à télécharger. Si non spécifié, fileKey est utilisé. |
| filePath | Propriété du bean indiquant l'url à utiliser pour télécharger le fichier |
Rend un champ de saisie de date.
Ce tag est une zone de texte modifié afin de choisir une date dans un calendrier qui s'affiche dans une fenêtre popup.
Attributs
| Nom de l'attribut | Description |
|---|---|
| calendarTooltip | Texte à afficher pour le lien vers le calendrier. Par défaut : "pick up a date". |
| cols | Nombre de colonnes à afficher dans la zone. |
| editType | En mode Edit, formate la valeur en utilisant le formatter struts-layout spécifié. |
| endYear | Si spécifié, année où le calendrier s'achève. |
| maxlength | Nombre maximal de colonnes de la zone. |
| patternKey | Si spécifié, clé du pattern de date à utiliser. |
| rows | Nombre de lignes à afficher dans la zone. |
| size | Nombre de colonnes à afficher dans la zone. |
| startYear | Si spécifié, année où le calendrier démarre |
| type | En mode Inspect, formate la valeur en utilisant le formatter struts-layout spécifié. |
| value | Valeur de la zone. |
Rend un champ de saisie de texte avec une liste de suggestions : quand l'utilisateur tape un caractère, une liste de suggestions correspondant au mot saisi s'affiche, et l'utilisateur n'a qu'à utiliser le clavier ou la souris pour choisir l'une de ces suggestions.
En fait, lorsque l'utilisateur tape un caractère, une action Struts est appelée. La classe de cette action a deux particularités :
Attributs
| Nom de l'attribut | Description |
|---|---|
| all | Inclue tous les champs du formulaire pour le calcul de la liste des suggestions. Si activé, l'action suggest doit étendre MultipleSuggestAction. Default : false. |
| suggestAction | Chemin de l'action à appeler afin de récupérer la liste des suggestions |
| suggestCount | Nombre maximal de suggestions à retourner (par défaut : 10) |
| suggestEncoding | Encodage de caractères à utiliser pour les suggestions à retourner (par défaut : ISO-8859-1) |
| minWordLength | Nombre minimal de caractères à saisir pour récupérer les suggestions (par défaut : 1) |
| timeout | Temps à attendre avant de récupérer les suggestions à chaque fois qu'un caractère est saisi, en millisecondes (par défaut : 0) |
Génère un champ customisé
Le tag fieldArea s'utilise pour générer des champs customisés. Le contenu du champs se spécifie en imbriquant des tags HTML, Struts ou Struts-Layout. Le tag fieldArea permet d'aligner facilement des champs Struts-Layout avec des champs spécifiques.
Exemple:
<layout:form action="/someAction"> <layout:text key="field.key" property="someProperty"/> <layout:fieldArea key="otherField.key"> <table>...</table> </layout:fieldArea> </layout:form>
Rend un champ de saisie
Il s'agit d'un tag déprécié qui permet d'afficher un champ de saisie de type text, password, textarea ou checkbox.
Attributs
| Nom de l'attribut | Description |
|---|---|
| access | Spécifie si le champ est read-write ou read-only. Valeur possibles : READWRITE ou READONLY. Par défaut : READWRITE. |
| cols | Nombre de colonnes à afficher dans la zone. |
| maxlength | Nombre maximal de colonnes de la zone. |
| redisplay |
Si vaut true, réaffiche la zone.
Notez qu'un mot de passe est lisible dans le code HTML généré
|
| rows | Nombre de lignes à afficher dans la zone. |
| size | Nombre de colonnes à afficher dans la zone. |
| type | Valeurs possibles : PASSWORD ou TEXT ou TEXTAREA ou NUMBER ou BOOLEAN ou DATE. Par défaut : TEXT. |