Как получить параметр запроса к массиву в Java, в стиле PHP и Rails? - PullRequest
4 голосов
/ 13 мая 2009

Ситуация следующая:

page.jsp?var[0]=foo&var[1]=bar

Как это можно получить в массиве на Java?

Следующее:

page.jsp?var=foo&var=bar

Я знаю, что можно получить с помощью request.getParameterValues ​​("var")

Какие-нибудь решения для вышеупомянутого все же?

Ответы [ 2 ]

4 голосов
/ 14 мая 2009
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));
 }

Надеюсь, это поможет.

4 голосов
/ 14 мая 2009
HashMap m = request.getParameterMap();
Set k = m.keySet();
Set v = m.entrySet();
Object o[] = m.entrySet().toArray();

Это даст вам вызов Map m с K, V парами и набором ключей и набором значений. Вы можете повторять эти наборы почти как массив. Вы также можете использовать toArray, чтобы превратить его в массив.

...