如何以PHP和Rails的风格在Java中获取数组的请求参数?

如何以PHP和Rails的风格在Java中获取数组的请求参数?,java,parameters,request,Java,Parameters,Request,情况如下: page.jsp?var[0]=foo&var[1]=bar 在Java中,如何在数组中检索这些内容 以下是: page.jsp?var=foo&var=bar 我知道可以使用request.getParameterValues(“var”)检索 但对于上述问题有什么解决方案吗 HashMap m = request.getParameterMap(); Set k = m.keySet(); Set v = m.entrySet(); Object o[] =

情况如下:

page.jsp?var[0]=foo&var[1]=bar
在Java中,如何在数组中检索这些内容

以下是:

page.jsp?var=foo&var=bar
我知道可以使用request.getParameterValues(“var”)检索

但对于上述问题有什么解决方案吗

HashMap m = request.getParameterMap();
Set k = m.keySet();
Set v = m.entrySet();
Object o[] = m.entrySet().toArray();
这将得到一个带有K,V对以及一组键和一组值的映射调用m。可以像数组一样迭代这些集合。您还可以使用toArray将其转换为数组。

Map index2value=new HashMap();
Map<Integer,String> index2value=new HashMap<Integer,String>();

for (Enumeration e = request.getParameterNames(); e.hasMoreElements() ;)
 {
 String param= e.nextElement().toString();
 if(!param.matches("var\[[0-9]+\]")) continue;
 int index= (here extract the numerical value....)
 index2value.put(index,request.getParameter(param));
 }
对于(枚举e=request.getParameterNames();e.hasMoreElements();) { 字符串参数=e.nextElement().toString(); 如果(!param.matches(“var\[[0-9]+\]”)继续; int index=(这里提取数值…) index2value.put(index,request.getParameter(param)); }

希望这有帮助。

它必须在GET请求中吗?不,它可以是POST或GET,只要可以通过请求对象检索。我希望有一种更“自动”的方式。但这是必须的。谢谢。param.matches(“var[[0-9]+])无法编译。无效的转义序列(有效的是\b\t\n\f\r\“\'\”\)