Как вы представляете все параметры (имена и значения), содержащиеся в объекте HttpServletRequest, в виде одной строки? - PullRequest
0 голосов
/ 12 июля 2011

Есть ли способ получить все параметры, содержащиеся в объекте HttpServletRequest , в одну строку?

Ответы [ 3 ]

1 голос
/ 12 июля 2011
request.getQueryString(); // To get into a single string
request.getParameterMap(); // to get into a map of key-value pairs
0 голосов
/ 12 июля 2011

Эта простая на первый взгляд проблема осложняется тем, что getParameterMap () возвращает Map<java.lang.String,java.lang.String[]>, поэтому попытки toString() возвращаемого значения не дают желаемого результата.

Если вам все равно понадобятся параметры в виде строки JSON или вы не возражаете против дополнительной зависимости, это очень простое решение, использующее Джексон :

String asJson = new ObjectMapper().writeValueAsString(request.getParameterMap());

для

parm1=abc&parm=cde&parm3=fgh&parm3=ijk

производит

{"parm1":["abc"],"parm":["cde"],"parm3":["fgh","ijk"]}
0 голосов
/ 12 июля 2011

Есть много фреймворков, которые сделают такие вещи для вас. Это зависит от того, какие технологии вы используете. Лично я предпочитаю Spring по тем простым причинам, что он охватывает почти все, что мне нужно было сделать. Единственным недостатком является то, что есть чему поучиться: -)

...