[STRUTS 2] Tag radio dans un itérator

Résolu/Fermé
slopera Messages postés 69 Date d'inscription vendredi 2 novembre 2001 Statut Membre Dernière intervention 19 février 2009 - 8 déc. 2008 à 16:37
slopera Messages postés 69 Date d'inscription vendredi 2 novembre 2001 Statut Membre Dernière intervention 19 février 2009 - 9 déc. 2008 à 09:31
Bonjour,

Je veux faire un tableau listant des opérations et permettant l'ajout, la modification et la suppression d'une opération.
Je suis en STRUTS 2.

Mon problème est d'afficher le bouton radio permettant de savoir quel item est sélectionné et mes recherches sur le Net ne sont pas fructueuses. Donc je requiers votre aide.

Mon iterator est une List définie comme cela dans mon Action :
____________________________________________

private List<MontantDos> listeMontantDos;
____________________________________________


J'itère dessus dans la jsp de la manière suivante (avec ce que j'ai trouvé sur le Net pour le bouton radio) :
____________________________________________

<s:iterator value="listeMontantDos">
<tr>
<td><s:radio name="selectedId" list="{noMtId}" /></td>
<td><s:property value="mtDos" /> <s:property value="monnaie" /></td>
<s:set name="txtNatOper" value="txtNatOper" />
<td>??</td>
<td><s:property value="txtNatOper" /></td>
<td><s:property value="dateOper" /></td>
<td><s:property value="noBord" /></td>
</tr>
</s:iterator>
____________________________________________


La propriété "noMtId" est bien définie pour mon objet MontantDos.
Avec ce code, j'ai le message d'insulte suivant quand la jsp s'ouvre :
____________________________________________
FreeMarker template error!

Error on line 27, column 9 in template/simple/radiomap.ftl
stack.findValue('top') is undefined.
It cannot be assigned to itemKey
The problematic instruction:
----------
==> assignment: itemKey=stack.findValue('top') [on line 27, column 9 in template/simple/radiomap.ftl]
in user-directive s.iterator [on line 23, column 1 in template/simple/radiomap.ftl]
in include "/${parameters.templateDir}/simple/radiomap.ftl" [on line 25, column 1 in template/css_xhtml/radiomap.ftl]
----------

Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Error on line 27, column 9 in template/simple/radiomap.ftl
stack.findValue('top') is undefined.
It cannot be assigned to itemKey
at freemarker.core.Assignment.accept(Assignment.java:111)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.visit(Environment.java:233)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:116)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.include(Environment.java:1375)
at freemarker.core.Include.accept(Include.java:155)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:232)
at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:168)
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
at org.apache.struts2.components.UIBean.end(UIBean.java:484)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
at org.apache.jsp.web.gestionbancaire.GestionBancaire_jsp._jspx_meth_s_005fradio_005f0(GestionBancaire_jsp.java:500)
at org.apache.jsp.web.gestionbancaire.GestionBancaire_jsp._jspx_meth_s_005fiterator_005f0(GestionBancaire_jsp.java:439)
at org.apache.jsp.web.gestionbancaire.GestionBancaire_jsp._jspx_meth_s_005fform_005f0(GestionBancaire_jsp.java:262)
at org.apache.jsp.web.gestionbancaire.GestionBancaire_jsp._jspService(GestionBancaire_jsp.java:111)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
____________________________________________

Si vous pouvez m'aider, je vous en remercie par avance.

Stéphanie
A voir également:

1 réponse

slopera Messages postés 69 Date d'inscription vendredi 2 novembre 2001 Statut Membre Dernière intervention 19 février 2009
9 déc. 2008 à 09:31
C'est bon, c'était bien de cette manière qu'il fallait l'écrire.
Seulement, mes identifiants n'étaient pas renseignés lors de la requête SQL. Maintenant, ça marche !!

Juste une question : j'ai l'identifiant affiché à côté du bouton radio. Comment fait on pour n'avoir que le bouton radio (et pas de libellé associé) ?

Merci d'avance.
0