【发布时间】:2017-05-28 10:26:09
【问题描述】:
我有一个后端 POJO(比如 MyBean),其中包含一个布尔属性 Boolean isValid。
我正在填充 MyBean 列表以显示在 JSP 上。
现在我想在每个 MyBean 旁边有一个单选按钮,以便用户可以选择其中任何一个作为有效 bean。
我不希望收音机在预定义的值列表中进行选择(因为list 是s:radio 中的强制属性)。
有人可以建议如何实现吗?
【问题讨论】:
我有一个后端 POJO(比如 MyBean),其中包含一个布尔属性 Boolean isValid。
我正在填充 MyBean 列表以显示在 JSP 上。
现在我想在每个 MyBean 旁边有一个单选按钮,以便用户可以选择其中任何一个作为有效 bean。
我不希望收音机在预定义的值列表中进行选择(因为list 是s:radio 中的强制属性)。
有人可以建议如何实现吗?
【问题讨论】:
布尔属性应该有一个getter
public Boolean isValid() { return this.isValid; }
返回列表后,您可以使用 OGNL 投影仅过滤 isValid 值。或者如果你使用listkey 和listValue 属性,你根本不需要它。
查看 Struts 文档中的示例:
在此示例中,显示带有性别列表的单选控件。 性别列表是从属性
id=genders构建的。框架 调用getGenders()将返回Map。有关使用
listKey和listValue属性的示例,请参阅部分选择标记。 默认选择一个将由getMale()方法确定(在这种情况下) 在动作类中,它应该返回一个类似于键的值getGenders()映射,如果要选择该特定性别。<s:action name="GenderMap" var="genders"/> <s:radio label="Gender" name="male" list="#genders.genders"/> <@s.radio name="car" list={"ford": "Ford Motor Co", "toyota": "Toyota"} listKey="key" listValue="value" />
【讨论】: