我正在制作一个调查网络应用程序。对于每个问题,我都喜欢这个:
问题:这是一个问题。请选择最佳选择。
*选项列表是动态的。
我正在使用Struts2无线电
所以在我的Java动作类中,我有
question.addOptions("This is option 1.");
question.addOptions("This is option 2.");
question.addOptions("This is option 3.");
在我的jsp中,我有
<s:radio label="Please select the best choice" name="answer" list="options"/>
其中&#34;回答&#34;是我的动作类的属性(实例变量),用于记录选择。
所以现在,当我选择其中一个选项时,我可以看到&#34;回答&#34;将值记录为&#34;这是选项x&#34;。还不错。
然而,这就是我想要实现的目标。我想&#34;回答&#34;重视&#34; x&#34;而不是&#34;这是选项x。&#34;但我真的没有办法定制这个部分。
答案 0 :(得分:3)
1)使用JSP Change的解决方案
此处x的值为1或2或3或4.而不是&#34;这是选项x&#34;
<s:radio label="YourQuestion" name="yourAnswer" list="#{'1':' This is Option 1','2':' This is Option 2','3':' This is Option 3','4':' This is Option 4'}" value="1" />
value属性将设置默认值。 列表将包含单选按钮值。
2)编辑:使用Java的另一种解决方案
对于动态选项,请创建类似
的内容 public class RadioOptions{
private String key;
private String value;
//getter and setter methods
}
您可以在此处使用键值检索呼叫。
List<RadioOptions> radioOption= new ArrayList<RadioOptions>();
radioOption.add( new RadioOptions("1", "This is option 1.") );
radioOption.add( new RadioOptions("2", "This is option 2.") );
radioOption.add( new RadioOptions("3", "This is option 3.") );
radioOption.add( new RadioOptions("4", "This is option 4.") );
您的HTML标记看起来像这样。
<s:radio label="Please select the best choice" name="answer" list="radioOption"
listKey="key" listValue="value" value="1" />