将Map值(在javascript中创建)传递给Action - struts2

时间:2013-10-18 09:55:34

标签: java javascript struts2

我在javascript中创建了一个MAP对象。我已经在javascript中为此MAP分配了值。如何在Struts2操作中访问此MAP对象?请帮帮我。

这是javascript中的MAP对象代码 -

Map map = new Object();
map['key1'] = 'value1';
map['key2'] = 'value2';
map['key3'] = 'value3';

现在我想在struts2 action中使用上面的'map'对象键和值。

提前致谢。

1 个答案:

答案 0 :(得分:0)

Javascript代码存在于客户端.i.e:浏览器。 Struts动作存在于服务器端。即:你的服务器(tomcat / jboss等)。因此,您需要将客户端(在javascript对象内)的数据发送到服务器端。你如何做到这一点取决于你的情况。如果您正在进行提交(通过提交按钮),那么您可以通过该信息发送您的javascript对象中的信息。一种可能性是在提交的“表单”中单击提交按钮时创建如下所示的“隐藏”字段。

<input type="hidden" name="key1" value="value1" />

然后在你的struts2动作中,您可以获取参数图并迭代查找已提交的值。

修改

如果要直接在动作类中填充Map。然后使用以下命名约定

<input type="hidden" name="valueMap['key1']" value="value1" />

在您的操作类中,如果您有Map<String, String> valueMap;字段,那么它将正确填充