getParameterValues(): 获取请求参数的多个值 (getParameter)

未分类2年前发布 jdkjadmin
44 00
淘宝闪购红包搜88744,有25元大红包

👇复制口令打开淘宝免单奶茶和25红包👇

¥XT7U4sdjF9I¥/ HU7405

getParameter

在 Servlet 中,

getParameterValues()

方法用于获取请求参数的多个值。与

getParameter()

方法不同,后者只能获取单个参数值,而

getParameterValues()

方法可以获取 Servlet 请求中特定参数的所有值。

语法


public String[] getParameterValues(String name)

其中,

name

是要获取其值的请求参数的名称。

返回值


getParameterValues()

方法返回一个包含指定参数所有值的字符串数组。如果请求中没有该参数,或该参数没有值,则返回

null

示例

以下示例展示了如何使用

getParameterValues()

方法获取请求参数的多个值。

import javax.servlet.;
import javax.servlet.http.;public class GetParameterValues extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String[] values = request.getParameterValues("hobby");// 如果请求中存在 "hobby" 参数并具有多个值if (values != null) {for (String value : values) {// 打印每个爱好System.out.println(value);}} else {// 如果请求中不存在 "hobby" 参数或没有值System.out.println("没有提供爱好");}}
}

在本例中,

getParameterValues()

方法用于获取 “hobby” 请求参数。如果该参数存在并且具有多个值,则将打印每个爱好。

要点


getParameterValues()

方法可以获取 Servlet 请求中特定参数的所有值。如果请求中没有该参数,或该参数没有值,则返回

null



getParameterValues()

方法的返回值是一个字符串数组。

兼容性

下表列出了 Servlet 规范的各个版本对

getParameterValues()

方法的支持情况。| Servlet 规范 | 支持 ||—|—|| Servlet 2.3 | 是 || Servlet 2.4 | 是 || Servlet 2.5 | 是 || Servlet 3.0 | 是 || Servlet 3.1 | 是 || Servlet 4.0 | 是 |

替代方案

在 Java EE 6 和更高版本中,可以使用

@RequestParam

注解来简化请求参数的处理。

@RequestParam

注解可以自动绑定请求参数到方法参数。以下示例展示了如何使用

@RequestParam

注解来获取请求参数的多个值。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;@Controller
public class GetParameterValuesWithRequestParam {@RequestMapping(path = "/hobbies")public void getHobbies(@RequestParam(name = "hobby") String[] hobbies) {// 处理爱好数组}
}

在本例中,

@RequestParam

注解用于将 “hobby” 请求参数绑定到

hobbies

方法参数。该

hobbies

参数是一个字符串数组,它将自动填充请求中 “hobby” 参数的所有值。

WordPress教程

© 版权声明

相关文章