2. 表达式语言的内置对象
使用表达式语言可以直接获取请求参数,可获取页面中某个JavaBean的属性值,获取请求头及获取session属性值等,这些都得益于表达式语言的内置对象。
表达式语言包含如下11 个内置对象。
pageContext:代表该页面的 pageContext对象,与 JSP 的 pageContext 内置对象相同。
pageScope: 用于获取 page 范围的属性值。
requestScope: 用于获取 request 范围的属性值。
sessionScope: 用于获取 session 范围的属性值。
applicationScope: 用于获取 application 范围的属性值。
p缸am: 用于获取请求的参数值。
paramValues: 用于获取请求的参数值,与param 的区别在于,该对象用于获取属性值为数组的属性值。
header: 用于获取请求头的属性值。
headerValues: 用于获取请求头的属性值,与 header 的区别在于,该对象用于获
取属性值为数组的属性值。
initParam: 用于获取请求 Web 应用的初始化参数。
cookie: 用于获取应用的 Cookie 值。
看下面的 JSP 页面代码:
〈 contentType="text/html;charset=gb23l2"%〉
表达式语言-内置对象
表达式语言"内置对象
请输入你的名字:
\${initParam["author"]}
丰{initParam["author"] }
reverse
java.
lang.String reverse( java.lang.String )
countChar
〈 prefix="my" uri="/tags/mytag"在〉
表达式语言-自定义函数
表达式语言自定义函数
请输入---个字符串:
字符串=
表达式语言
计算结果
\S{param[ "name"] }
${param["name"]}
\${my:reverse(param["name"])}
${my:reverse(param["name"])}
\${my:reverse(my:reverse(param["name"]))}
${my:reverse(my:reverse(param["name"]))}
\${my:countChar(param["name"])}
${my:countChar(param["name"])}
注意:函数处理类的方法必须是publicstatic,因为这些方法是直接调用,无须实例化。自定义函数,也提供了类似于自定义标签库的作用,使用简单的指令就可以完成复杂的功能。与自定义标签库不同的是,可以在表达式语言中直接使用函数。