Struts 2没有填充HashMap <string,string =“”> </string,>

时间:2012-08-08 18:13:18

标签: struts2

我正在尝试使用struts 2表单更新地图。迭代地图会正确显示键值对,但是当我提交表单时,地图不会被填充。 Key是一个包含字符的字符串。和/。这是一个例子:

Map<String, String> map = new HashMap<String, String>();
map.put("utilities.student_info.note", "note");

<s:iterator value="map" var="property" status="status">
  <s:property value="%{key}"/>
  <s:textarea name="map[%{key}]" value="%{value}" rows="5" cols="60"/>
</s:iterator>

我尝试使用这样的引号:name="map['%{key}']",但它仍然不起作用。 我可以从日志中看到ParamsInterceptor正确设置了参数:map[utilities.student_info.note] => [note]。但是地图在行动方面是空的。 如果我使用name="map[%{#attr.status.index}]",它会填充地图,但密钥是索引(map[0] => [note]),这是不正确的。

任何建议将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

这取决于您使用的Struts2版本,但在2.3.8 map['utilities.student_info.note']上不是可接受的参数。试试map['utilities_student_info_note']它应该有效。密钥只能用单词字符组成。