2013-03-28 5 views
0

J'ai cet itérateur qui traverse un objet.Struts2 Tags Bouton radio

 <s:iterator value = "choices" status = "key"> 
     <s:set var = "test" value ="%{#key.index}"/> 
      <input type = "radio" name="choices[{key.index}].answer" /> 
      <s:textfield name = "choices[%{#key.index}].value" value = "%{choices[%{#key.index}].value}"/> 
      <br> 
     </s:iterator> 

answer est une valeur booléenne, que je suis en train de mettre par les boutons radio.

mais le problème est, sur le html généré, les boutons radio. est comme ce

<input type = "radio" name="choices[%{#key.index}].answer" /> 

Il n'a pas eu l'indice/index. il ne m'a donné l'%{#key.index}

Répondre

3

vous devez utiliser la balise de propriété pour obtenir la valeur réelle

<input type = "radio" name="<s:property value='%{choices[#key.index].answer}' />" /> 

mieux utiliser la balise radio de barres bibliothèque de balises, comme celui-ci

<s:radio name="choices[%{#key.index}].answer"/> 
+0

+1, mais modifier votre s: la syntaxe de la propriété, c'est faux –

+0

édité la syntaxe – Code2Interface

+0

toujours faux :) il vous manque des guillemets, et doubler la notation% {} qui ne devrait pas être imbriquée –