【发布时间】:2013-08-26 09:35:09
【问题描述】:
我正在使用 struts 2。我有一个包含一些布尔值的对象。我有一个 HashMap,其中包含许多以前由某个键定义的对象。
在我的 jsp 中,表格中填充了单选按钮。地图的每个键对应一行等。 当我发回表单时,我想保存用户设置的选项。但地图似乎没有人满。
我的代码是这样的:
MyObject ( with two boolean parameters )
private Map<String, MyObject> ... (with getter & setter ).
在我的jsp中生成的html是:
<input type="radio" name="myMap[123].booleanParameter1" id="someId"
checked="checked" value="true">
etc
有人可以帮忙设置单选按钮的“名称”,以便 struts 可以填充地图吗?
public class MyObject implements Serializable{
private Boolean booleanParameter1;
private Boolean booleanParameter2;
getters & setters here
}
Map<String,MyObject> myMap ... in Action
JSP...
<s:iterator ...iterates default map values>
<s:radio label="parameter1" name="myMap['%{key}'].booleanParameter1" list="#{'true':'Yes','false':'No'}" value="%{value.booleanParameter1}" />
<s:radio label="parameter2" name="myMap['%{key}'].booleanParameter2" list="#{'true':'Yes','false':'No'}" value="%{value.booleanParameter2}" />
</s:iterator>
【问题讨论】:
-
您的密钥
123不是字符串。 -
执行操作时没有填充它吗?
-
应该是
myMap['123'].booleanParameter1。 -
@AleksandrM 首先,123 也可以是字符串 :)。其次,我尝试了 myMap['123'].booleanParameter1 仍然没有用。还有什么建议吗?
-
您并没有指出这是一个字符串。显示您的
MyObject类和 JSP 表单。