是否可以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 回答