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

Pass Map values (created in javascript) to Action - struts2

本文关键字:Action struts2 创建 Map javascript      更新时间:2023-09-26

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

这是 javascript 中的 MAP 目标代码 -

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

现在我想要 struts2 操作中的上述"map"对象键和值。

提前谢谢。

Javascript 代码位于客户端,即:浏览器。支柱操作位于服务器端。即:您的服务器(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;字段,那么它将正确填充