是否可以request.getParameterNames()
作为字符串列表获取?我需要以这种形式拥有它。
问问题
55325 次
4 回答
28
List<String> parameterNames = new ArrayList<String>(request.getParameterMap().keySet());
// ...
我只是想知道将它作为List<String>
. ASet<String>
会更有意义,因为参数名称应该是唯一的(aList
可以包含重复的元素)。ASet<String>
也正是地图的键集已经表示的内容。
Set<String> parameterNames = request.getParameterMap().keySet();
// ...
或者,对于您认为将参数名称按摩到 a中的特定功能要求,您可能根本不需要它List<String>
。例如,也许您实际上打算在增强的循环中对其进行迭代?这在Map
.
for (Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
String name = entry.getKey();
String value = entry.getValue()[0];
// ...
}
于 2013-06-24T18:02:20.640 回答
8
可以通过使用方法从 servlet 中获取参数名称HttpServletRequest.getParameterNames()
。这将返回一个enumeration
. 我们可以将枚举元素转换为参数string
并将其添加到ArrayList
参数中,如下所示。
ArrayList<String> parameterNames = new ArrayList<String>();
Enumeration enumeration = request.getParameterNames();
while (enumeration.hasMoreElements()) {
String parameterName = (String) enumeration.nextElement();
parameterNames.add(parameterName);
}
// you can do whatever you want to do with parameter lists..
于 2013-06-24T17:55:11.123 回答
7
您可能可以使用这个:
List<String> parameterNamesList = Collections.list(request.getParameterNames());
于 2017-04-24T18:32:33.673 回答
0
您可以使用Guava将 the 转换Enumeration
为 a Iterator
,然后将 the 转换Iterator
为 a List
:
Lists.<String> newArrayList(Iterators.forEnumeration(request.getParameterNames()))
于 2013-06-24T18:16:06.540 回答