<html:errors/> dans des <logic:iterate>
Bonjour,
J'ai un formulaire qui doit afficher une liste via <logic:iterate />, chaque ligne comportant un libellé et un champ texte à saisir. Le code suivant vous éclairera peut - être :
Code:
1 2 3 4 5 6 7 8 9 10
|
<!-- Liste de champs dynamique -->
<logic:iterate id="element" name="form" property="liste">
<!-- Nom du champ -->
<bean:write name="element" property="libelle" />
:
<!-- Champ input text -->
<html:text name="element" property="champASaisir" />
<br/>
</logic:iterate> |
Ou chaque élément est un bean Java classique avec deux champs libelle et champASaisir :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// Element de la liste de champs dynamique.
class Element {
// Nom du champ
private String libelle;
// Valeur du champ
private String champASaisir;
public String getLibelle() {
return this.libelle;
}
public void setLibelle(String libelle) {
this.libelle = libelle;
}
public String getChampASaisir() {
return this.champASaisir;
}
public void setChampASaisir(String champASaisir) {
this.champASaisir = champASaisir;
}
} |
Je voudrais savoir comment afficher, à chaque ligne, un message d'erreur en face de chaque champ erroné. La balise <html:errors/> permet d'afficher un message d'erreur, mais son attribut property ne me permet pas de préciser quelle ligne est concernée. Autrement dit, le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<!-- Liste de champs dynamique -->
<logic:iterate id="element" name="form" property="liste">
<!-- Nom du champ -->
<bean:write name="element" property="libelle" />
:
<!-- Champ input text -->
<html:text name="element" property="champASaisir" />
<!-- Messages d erreur relatifs au champ input text de cette ligne -->
<!-- Début code à faire -->
<html:errors property="champASaisir" />
<!-- Fin code à faire -->
<br/>
</logic:iterate> |
... afficherait le même message d'erreur à chaque ligne, quel que soit le champ qui a provoqué l'erreur!
Ce n'est pas non plus <html:errors name="element" property="champASaisir" />, car name doit pointer vers une liste d'erreur Struts, pas vers le bean qui contient le champ en question.
Je dois probablement rater quelque chose d'évident. Quelqu'un sait-il comment faire?
Merci d'avance.