Struts2 Radio:如何自定义输入值

时间:2014-05-12 16:41:26

标签: java jsp struts2

我正在制作一个调查网络应用程序。对于每个问题,我都喜欢这个:

问题:这是一个问题。请选择最佳选择。

  1. 这是选项1;
  2. 这是选项2;
  3. 这是选项3。
  4. *选项列表是动态的。

    我正在使用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;但我真的没有办法定制这个部分。

1 个答案:

答案 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" />