2017-05-28 167 views
0

我有一个包含布尔属性“Boolean isValid”的后端pojo(如MyBean)。我正在填充MyBean的列表以显示在Struts2 jsp上。现在我想在每个MyBean旁边都有一个单选按钮,以便用户可以选择其中任何一个作为有效bean。如何使用单选按钮绑定布尔bean属性

我不希望无线电在预先定义的值列表中选择(因为“list”是s:radio中的强制属性)。任何人都可以建议如何实现这一目标?

回答

0

布尔属性应该有一个getter

public Boolean isValid() { return this.isValid; } 

一旦列表被返回,您可以使用OGNL投影仅过滤isValid值。或者,如果您使用listkeylistValue属性,则根本不需要它。

见的例子从Struts的文档:

在这个例子中,一个无线电控制显示带有性别的列表。 性别列表是从属性id=genders构建的。框架 调用getGenders()将返回Map

有关使用listKeylistValue属性的示例,请参阅选择标记部分。 如果要选择该特定性别,则将在动作类别中确定(在此情况下)方法 的缺省选定项目,该项目应返回类似于 关键点的值的值。

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

感谢您的回复!但我已经试过了。这个无线电(在一个迭代器下)只有在它们的“名称”相同的情况下才能工作。但是我不能保留所有bean的名称,因为在提交页面时使用了这个“名称”(每个radio都必须映射到后端的任何特定bean,而前端只有“只有一个选择”关系。 –

相关问题