请求参数中的Java数组名称

请求参数中的Java数组名称,java,Java,我有一个数组 字符串[]strArray={“牛奶”、“面包”、“鸡蛋”} 通常我们可以在一个循环中将这些值显示为strArray[i]……但是我从一个请求参数&arrayName=strArray的值中动态获取数组“strArray”的名称 获取参数(“arrayName”) 你们中的一位专家能否建议如何根据请求构造arrayname,并使用它来显示数组的值。您不应该这样做,我认为您不能通过参数传递数组。我建议改用json。最简单但不干净的方法是映射: Map<String, Strin

我有一个数组

字符串[]strArray={“牛奶”、“面包”、“鸡蛋”}

通常我们可以在一个循环中将这些值显示为strArray[i]……但是我从一个请求参数&arrayName=strArray的值中动态获取数组“strArray”的名称

获取参数(“arrayName”)


你们中的一位专家能否建议如何根据请求构造arrayname,并使用它来显示数组的值。

您不应该这样做,我认为您不能通过参数传递数组。我建议改用json。

最简单但不干净的方法是映射:

Map<String, String[]> map = new HashMap<String, String[]>();
map.put("strArray", strArray);
map.get("strArray");
Map Map=newhashmap();
地图放置(“strArray”,strArray);
地图获取(“strArray”);
也许最好是使用。
HashMap strMap=newhashmap();
strMap.put(“strArray”,新字符串[]{“牛奶”,“面包”,“鸡蛋”});
字符串strName[]=(字符串[])strMap.get(request.getParameter(“strArray”);
响应。写入(strName[1]);

这是可行的。

为什么要这样做?您已经知道(并演示)如何从参数中获取名称。通过动态提供的名称访问数组的最佳方法是将数组(以及您希望通过这种方式访问的任何其他数组)存储在
映射中,并将其名称作为键。在运行时,从映射中检索它们。基于请求参数,我必须在我的应用程序中显示值,例如如果请求的值是数组,那么将得到从数组中显示的值。如果您在servlet /jsp中讨论这一点,那么您可以考虑将数组存储为请求,会话,或者上下文属性,而不是在映射中。@JohnBollinger你能给我一个例子吗?我必须写很多代码才能在我的应用程序中获得json,我更喜欢数组本身。
HashMap<String, String[]> strMap = new HashMap<String, String[]>();

strMap.put("strArray", new String[]{"Milk","Bread,"eggs"});

String strName[]=(String[])strMap.get(request.getParameter("strArray"));

response.write(strName[1]);