2009-07-10 7 views
1

En utilisant Struts2, j'ai une étiquette radio très simple comme suitbouton radio Preselect dans Struts2

<s:radio label="correctOption" name="correctAnswer" list=" 
#{'1':'1','2':'2','3':'3','4':'4'}" value="questionVo.correctAnswer"/> 

questionVo.correctAnswer retours 2. Je veux donc que le deuxième bouton radio soit présélectionné mais cela n'arrive pas. J'ai même essayé:

<s:radio label="correctOption" name="correctAnswer" list=" 
#{'1':'1','2':'2','3':'3','4':'4'}" value="%{1}"/> 

Mais cela ne fonctionne pas non plus.

Qu'est-ce que je fais mal?

Répondre

2

Supprime l'attribut de valeur de jsp. Ensuite, dans votre code Java assurez-vous que la variable "correctAnswer" a la valeur que vous voulez.

Cela a aussi l'effet ajouté qui fonctionne dans postbacks (lorsque l'utilisateur a sélectionné quelque chose à la radio et la forme est réaffichée)

0

Il fonctionne pour moi pour ce qui suit:

<s:radio 
    label="correctOption" 
    name="correctAnswer" 
    list="#{'1':'1','2':'2','3':'3','4':'4'}" 
    value="%{1}"/> 
0

Je crois que la question est que la valeur doit être correctement échappée par exemple:

value="%{'1'}" 

et correspondent à la déclaration exactement.

0

est ici la solution:

<s:radio label="correctOption" name="correctAnswer" list=" 
#{'1':'1','2':'2','3':'3','4':'4'}" value="1"/> 

un autre en cas de chaînes dans la liste statique:

<s:radio label="Gender" name="gender" list=" 
    #{'male':'Male','female':'Female'}" value="'male'"/> 
Questions connexes