如何将request.getParameterNames请求到字符串列表中?

SSV*_*SSV 14 java servlets

是否有可能request.getParameterNames()作为字符串列表?我需要以这种形式拥有它.

Bal*_*usC 25

只需构造一个新的ArrayList包装请求参数映射的键集.

List<String> parameterNames = new ArrayList<String>(request.getParameterMap().keySet());
// ...
Run Code Online (Sandbox Code Playgroud)

我只是想知道它是如何有用的List<String>.A Set<String>会更有意义,因为参数名称应该是唯一的(List可以包含重复的元素).A Set<String>也正是地图的键集已经代表的内容.

Set<String> parameterNames = request.getParameterMap().keySet();
// ...
Run Code Online (Sandbox Code Playgroud)

或者您可能根本不需要它,因为您认为将参数名称按摩List<String>成为解决方案的特定功能要求.也许你真的打算在增强型循环中迭代它,例如?这也很完美Map.

for (Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
    String name = entry.getKey();
    String value = entry.getValue()[0];
    // ...
}
Run Code Online (Sandbox Code Playgroud)


Pra*_*kar 8

可以通过使用HttpServletRequest.getParameterNames()方法从servlet获取getParameterNames .这会返回一个enumeration.我们可以将灌注元素转换stringArrayList参数并将其添加到参数中,如下所示.

 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..
Run Code Online (Sandbox Code Playgroud)


小智 5

您可能可以使用以下命令:

List<String> parameterNamesList = Collections.list(request.getParameterNames());