【问题标题】:Struts2 Radio: how to customize the value of the inputStruts2 Radio:如何自定义输入的值
【发布时间】:2014-05-12 16:41:25
【问题描述】:

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

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

  1. 这是选项 1;
  2. 这是选项 2;
  3. 这是选项 3。

*选项列表是动态的。

我正在使用 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"/>

其中“answer”是我的操作类的属性(实例变量),用于记录选择。

所以现在当我选择其中一个选项时,我可以看到“答案”将值记录为“这是选项 x”。还不错。

但是,这是我想要实现的目标。我希望“答案”值“x”而不是“这是选项 x”。但是我真的没有找到自定义这部分的方法。

【问题讨论】:

    标签: java jsp struts2


    【解决方案1】:

    1) 使用 JSP Change 的解决方案

    这里 x 的值是 1 或 2 或 3 或 4。而不是“这是选项 x”

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

    【讨论】:

    • 感谢您的回复!但是,我不确定您的答案是否适用于我的案例,因为我的选项列表是动态的。 (忘了在我的问题中提到)
    • 你知道如何处理动态列表吗?
    • 是的! listKey 是我正在寻找的东西!谢谢!
    • 顺便说一句,我没有完全按照你说的做,所以我没有为单选选项创建一个新类,而是让 listKey="status.count" 可以按我的意愿工作到。
    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多