collection

Itère sur une java.util.Collection et affiche les propriétés sélectionnées de chaque bean de la collection.

  • Si ce tag est placé dans un tag form, il est possible d'afficher des boutons radio ou des cases à cocher pour sélectionner un ou plusieurs beans.
  • Il est possible d'itérer sur deux collections en même temps
  • Il est possible d'alterner les couleurs utilisées pour rendre une ligne
  • Il est possible de mettre en valeur une ligne correspondant à une propriété spécifiée

Attributs

Nom de l'attribut Description
align Alignement du panel. Par défaut : CENTER
bundleNom du bundle à utiliser pour afficher les messages
emptyKey -
height -
id Id à utiliser pour exposer les beans de la collection durant l'itération
id2 Id à utiliser pour exposer les beans de la seconde collection durant l'itération
indexId Nom du bean qui contiendra l'index du bean courant dans la collection durant l'itération
length Nombre d'itérations (nombre d'éléments à traiter)
model Nom du modèle à utiliser pour rendre la collection. Voir la page sur les skins pour plus d'informations
name Nom de la première collection dans le pageContext ou nom du bean contenant la collection. Par défaut : nom du bean du formulaire
name2 Nom de la seconde collection dans le pageContext ou nom du bean contenant la collection
oddId Si cet attribut est spécifié, place un booléen dans le pageContext indiquant si l'index courant est pair ou non
offset Index de l'élément de la collection à partir duquel commencer l'itération
onClick -
onRowClick Code javascript à exécuter lors d'un click sur une ligne [EL]
onRowDblClick Code javascript à exécuter lors d'un double-click sur une ligne[EL]
onRowMouseOut Code javascript à exécuter lorsque la souris quitte une ligne [EL]
onRowMouseOver Code javascript à exécuter lorsque la souris se trouve sur une ligne [EL]
property Propriété du bean 'name' donnant la première collection
property2 Propriété du bean 'name' donnant la seconde collection
selectId -
selectIndex -
selectName Propriété du bean du formulaire à utiliser pour indiquer quel bean de la collection est sélectionné
selectProperty Property of the beans to use to specify which bean is selected
selectType Indique s'il est possible de sélectionner une valeur (radio) ou plusieurs (checkbox)
sortAction, sortParam Utilisés pour spécifier une action de tri personnalisée avec l'url de l'action et un paramètre à lui transmettre. Si l'attribut sortAction vaut "client", trie la collection côté client avec javascript.
sortLabel Texte alt de l'image qui sera utilisé pour afficher les liens permettant de trier la collection.
sortPictogram Nom de l'image qui sera utilisée pour afficher les liens permettant de trier la collection
styleId Identidiant à assigner à l'élément TABLE généré
styleClass Classe du style css à utiliser pour afficher la collection
styleClass2 Si cet attribut est spécifié, styleClass et styleClass2 sont échangés après chaque itération afin d'alterner la couleur des lignes
title -
width Largeur du panel utilisé pour rendre la collection

collectionItem

Le tag collectionItem est utilisé pour indiquer les propriétés d'un bean qui doit être affiché dans un tag collection.

  • Il est possible de ne pas spécifier de valeur pour l'attribut property. Dans ce cas, le contenu du tag sera affiché au lieu de la valeur de cette propriété.
  • Il est possible de spécifier le nom d'un formatter qui sera appelé pour formater la valeur à afficher
  • Il est possible de générer un lien en spécifiant l'un des attributs url, href, forward et automatiquement ajouter un paramètre
  • Il est possible de trier les lignes selon une colonne
  • Il est possible de générer des statistiques selone une colonne

Attributes

Nom de l'attribut Description
filterSi cet attribut vaut false, ne filtre pas les caractères HTML sensibles
forwardComme l'attribut url, mais dans ce cas l'url est générée à partir du forward struts spécifié
footerPied de colonne [EL]
hrefComme l'atttribut href
mathOperationOpération mathématique à effectuer sur la colonne, parmis : geometricMean, max, mean, min, product, sum, sumLog, sumSq, variance
mathPatternPattern DecimalFormat à utiliser pour afficher les nombres
nameNom du bean contenant la propriété à afficher. Par défaut : beans de la première collection
onclickLa valeur de cet attribut est copiée dans celle de l'attribut onclick du lien généré [EL]
pageComme l'attribut url, mais dans ce cas l'url est générée pour la page spécifiée
paramSi cet attribut est spécifié, la valeur de la propriété nommée 'param' sera ajoutée à l'url précédente
paramIdListe des id des paramètres à ajouter à l'url précédente, séparée par des virgules
paramNameListe des noms des paramètres à ajouter à l'url précédente, séparée par des virgules. Cet attribut n'est pas requis (par défaut : bean courant de la collection)
paramPropertyComma separated list of parameter properties to use to generate the parameters for the previous url.
propertyNom de la propriété du bean à afficher
sortableSi cet attribut vaut true, affiche un lien pour trier la collection selon cette colonne. La configuration de l'action de tri est décrite dans le section Exemple
styleSurcharge la classe du style css définie dans le tag collection avec le style spécifié. Le style devrait se terminer par ';'
styleClassSurcharge la classe du style css définie dans le tag collection. Non compatible avec le tag collectionStyle et l'utilisation des attributs styleClass et styleClass2 dans le tag collection
targetCadre cible
titleClé du titre à afficher pour cette propriété
typeFormat à utiliser [EL]
urlSi cet attribut est spécifié, la valeur de la propriété sera rendue avec un lien html vers cet url
widthLargeur de la colonne

collectionInput

Le tag collectionInput permet d'éditer des propriétés de beans de la collection courante.

  • Il est possible de ne pas spécifier de valeur pour l'attribut property. Dans ce cas, le contenu du tag sera affiché au lieu de la valeur de cette propriété.
  • Il est possible de spécifier le nom d'un formatter qui sera appelé pour formater la valeur à afficher
  • Il est possible de trier les lignes selon une colonne

Attributs

Nom de l'attribut Description
createFormatterformatter struts-layout à appliquer sur la valeur affichée en mode création
editFormatterformatter struts-layout à appliquer sur la valeur affichée en mode édition [EL]
formIndexNom de la variable d'index dans le pageContext. Par défaut : index courant
formNameNom du formulaire à utiliser pour envoyer les valeurs
formPropertyPropriété indexée du formulaire à utiliser poure envoyer les valeurs [EL]
inspectFormatterformatter struts-layout à appliquer sur la valeur affichée en mode consultation
keyPropertySi cet attribut est spécifié, la propriété du formulaire doit être une propriété mappée. Les clés utilisées sont les valeurs des attributs keyProperty des beans
maxlengthNombre maximal de caractères des zones de saisie générées
modeMode d'affichage des zones de saisie. Voir la documentation des zones de saisie
nameNom du bean contenant la propriété à afficher. Par défaut : beans de la premiè collection
onchangeGestionnaire de l'événement javascript onchange [EL]
policyPolitique struts-layout à utiliser pour restreindre le mode d'affichage
propertyNom de la propriété des beans à afficher
sizeNombre de caractères des zones de saisie générées
sortableSi cet attribut vaut true, affiche un lien pour trier la collection selon cette colonne. La configuration de l'action de tri est décrite dans le section Exemple
titleClé du titre à afficher pour cette propriété
tooltipClé du texte tooltip à afficher pour cette propriété [EL]
useCollectionSelectionSi cet attribut vaut true, seules les les lignes sélectionnés seront en mode édition (edit), les autres étant en mode consultation (inspect)
widthLargeur des zones de saisie générées

collectionStyle

Le tag collectionStyle change le styleClass des lignes satisfaisant une certaine condition.

Si les attributs matchStyle et nonMatchStyle sont utilisés, il est possible de placer plusieurs tags collectionStyle, et de les utiliser en alternant la couleur des lignes.

Attributs

Nom de l'attribut Description
greaterThanSi cet attribut est spécifié, valeur dont doit être plus grande la valeur de la propriété du bean spécifié
lessThanSi cet attribut est spécifié, valeur dont doit être plus petite la valeur de la propriété du bean spécifié
matchStyleStyle à utiliser si la condition est vérifiée. Le style doit se terminer par ';'
matchStyleClassStyleClass à utiliser si la condition est vérifiée
nameNom du bean contenant la propriété à tester
nonMatchStyleStyle à utiliser si la condition n'est pas vérifiée (optionnel). Le style doit se terminer par ';'
nonMatchStyleClassStyleClass à utiliser si la condition n'est pas vérifiée (optionnel)
propertyNom de la propriété à tester
valueSi cet attribut est spécifié, valeur à laquelle doit correspondre la propriété du bean spécifié
valueNameNom du bean contenant la valeur
valuePropertyNom de la propriété contenant la valeur

collectionTitle

collectionTitle : Défini un titre portant sur plusieurs colonnes

Le tag collectionTitle permet de définir un titre pour plusieurs colonnes, et permet de créer plusieurs lignes de titres.

Un titre défini avec le tag collectionTitle s'applique à toutes les colonnes défini à l'intérieur du tag. Le tag collectionTitle peut contenir des tags collectionItem, collectionInput, ainsi que d'autres tags collectionTitle.

Attributs

NomDescription
titleClé du titre à afficher
arg0Paramètre du title
arg2Paramètre du titre
tooltipClé du tooltip à afficher
styleClassstyle class css

pager

Le tag pager permet de limiter le nombre d'éléments afichés à la fois.

Le tag pager peut être utilisé pour afficher une collection sur plusieurs pages quand il y a un trop grand nombre d'éléments dans cette collection. Le tag <layout:collection> doit être placé dans le tag <layout:pager>, et l'action de tri doit être configurée pour le tag pager.

Le pager utilise les clés suivantes dans le fichier des propriétés du skin :

  • layout.pager.previous.label (texte à afficher pour le bouton "page précédente")
  • layout.pager.next.label (texte à afficher pour le bouton "page suivante")
  • layout.pager.previous.img (image à afficher pour le bouton "page précédente". Peut être null)
  • layout.pager.next.img (image à afficher pour le bouton "page suivante". Peut être null)

Attributs

Nom de l'attribut Description
maxPageItems Nombre maximal d'éléments par page
sessionPagerId Nom de l'attribut session qui contient le numéro de la page à afficher initialement (l'attribut doit être de type String) Quand l'utilisateur change de page, l'attribut est mis à jour automatiquement. Si cet attribut n'est pas utilisé, c'est la première page s'affiche initialement.
styleClass Classe du style CSS des liens du pager
width Largeur de la cellule des liens du pager

pagerStatus

Le tag pagerStatus perlet d'afficher l'état du pager.

Le tag pagerStatus affiche des informations sur l'état du pager. Il doit être placé dans un tag pager et placé après le tag collection.

Les paramètres suivants peuvent être insérés dans le message :

  • {0} : l'index de la page courante
  • {1} : le nombre total d'éléments
  • {2} : le nombre total d'éléments
  • {3} : l'index du premier élément affiché
  • {4} : l'index du dernier élément affiché

Le message par défaut est {0}/{1}.

Attributs

Nom de l'attribut Description
key Clé du message de l'état du pager à afficher
styleClass Classe du style css du message de l'état du pager class of the pager status message
width Largeur du message (optionnel)

swap

Le tag swap permet d'échanger des lignes entre deux tables.

Le tag swap inclut le code javascript et affiche les boutons qui sont requis pour échanger des lignes entre deux tables. Une zone de liste cachée est automatiquement mise à jour ainsi il est possible de savoir quelles lignes ont été échangées.

Attributs

Nom de l'attribut Description
formProperty Liste des propriétés indexées du formulaire à utiliser, séparées par des virgules
property Liste des propriétés du bean à utiliser pour indiquer lesquelles sont dans quelle liste, séparées par des virgules
selectedStyleClass Classe du style CSS des lignes sélectionnées

nestedCollection

Le tag nestedCollection permet d'itérer sur les collections imbriquées.

Le tag nestedCollection permet d'itérer sur des collections imbriquées dans d'autres collections. Par exemple, il peut afficher la liste des voitures d'un utilisateur.

Attributs

Nom de l'attribut Description
id Id à utiliser pour exposer les beans de la collection durant l'itération
indexId indexId à utiliser pour exposer l'index des beans de la collection durant l'itération
name Nom du bean contenant collection imbriquée. par défaut : bean courant
property Propriété du bean donnant la collection imbriquée

css

Les styles suivants sont utilisés par les tags collection :

  • TH.myStyle : entête
  • TH.myStyle TR TD : entête des colonnes triables
  • TD.myStyle : cellules