【发布时间】:2011-07-11 23:58:23
【问题描述】:
有什么方法可以将HttpServletRequest 对象中包含的所有参数放入一个字符串中?
【问题讨论】:
标签: java string http-request-parameters
有什么方法可以将HttpServletRequest 对象中包含的所有参数放入一个字符串中?
【问题讨论】:
标签: java string http-request-parameters
request.getQueryString(); // To get into a single string
request.getParameterMap(); // to get into a map of key-value pairs
【讨论】:
有很多框架可以为你做这种事情。这在很大程度上取决于您使用的技术。我个人更喜欢Spring,原因很简单,它几乎涵盖了我需要做的所有事情。唯一的缺点是有很多东西要学:-)
【讨论】:
由于 getParameterMap() 返回一个Map<java.lang.String,java.lang.String[]>,这个乍一看很简单的问题变得复杂了,所以尝试toString() 返回值并没有得到想要的结果。
如果您无论如何都需要将参数作为 JSON 字符串,或者不介意额外的依赖,这是一个使用 Jackson 的非常简单的解决方案:
String asJson = new ObjectMapper().writeValueAsString(request.getParameterMap());
为
parm1=abc&parm=cde&parm3=fgh&parm3=ijk
它产生
{"parm1":["abc"],"parm":["cde"],"parm3":["fgh","ijk"]}
【讨论】: