7.3.4 获得请求参数集合的内置对象

优质
小牛编辑
128浏览
2023-12-01

EL表达式中的param和paramValues对象都可以获得请求参数集合,它们的区别是param对象返回的Map对象的value是String类型,而paramValues对象返回的Map对象的value是String[]类型。因此,paramValues对象可以用于获得可能有重名的请求参数集合。而param对象用于获得没有重名的请求参数集合。如要获得请求参数name的值,可以使用如下的代码:

${param.name}

${paramValues.name[0]}

如果使用paramValues对象返回Map对象时,由于value是一个String数组,即使没有重名的请求参数,value的类型仍然为只有一个元素的String数组,因此,必须使用name[0]来输出name请求参数的值。

如果不为param和paramValues对象指定请求参数,则输出所有的请求参数,代码如下:

<!--  param.jsp  -->

${param}<hr>

${paramValues}

在浏览器地址栏中输入如下的URL:

http://localhost:8080/demo/chapter7/param.jsp?name=bill&age=22

浏览器显示的效果如图7.4所示。

04

图7.4 使用param和paramValues对象输出所有的请求参数