除了 page、request、session 和 application 4 种内置对象作用域外,EL 表达式还定义了一些其他的内置对象,可以使用它们完成程序中数据的快速调用。其他的常用内置对象如表 1 所示,其中,比较常见的是 param、cookie、initParam 三种内置对象。
内置对象 | 说明 |
---|---|
param | 获取单个表单参数 |
parmValues | 获取捆绑数组参数 |
cookie | 获取 cookie 中的值 |
initParam | 获取 web.xml 文件中的参数值 |
本文首先介绍 param 和 paramValues 对象,在后面的教程中我们再逐一介绍 cookie 对象和 initParam 对象。
param 对象用于获取某个请求参数的值,它是 Map 类型,与 request.getParameter() 方法相同,在 EL 获取参数时,如果参数不存在,则返回空字符串。param 对象的使用方法如下:
${param.username}
【例1】EL 表达式中 param 对象的使用。
在 param-1.jsp 页面定义一个带 username 和 userpassword 两个参数的超级链接,链接到 param-2.jsp 上,在 param-2.jsp 上通过 EL 表达式接收这两个参数。代码如下:
<!--param-1.jsp--> <%@ page contentType="text/html;charset=utf-8" %> <html> <body> <a href="param-2.jsp?username=Mike&userpassword=888888" /> 链接到param-2.jsp页面 </a> </body> </html>
<!--param-2.jsp--> <%@ page contentType="text/html;charset=utf-8" %> <html> <body> <h1>利用 param 对象获得请求参数</h1> <hr/> <h3>${param.username}</h3> <h3>${param.userpassword}</h3> </body> </html>
程序运行结果如图 1 和图 2 所示。