*。jsp
true
这样就会禁用所有以。jsp 后缀的请求中的 el 表达式,使用这种方式需要注意两
点。
1。 jsp…property…group 标签是 jsp…2。0 中新增功能,如果你使用低版本的
web。xml (2。3 或以下)就不能使用这个标签了。
2。 设置 jsp…config 会影响 jsp 生成 servlet 的过程,如果程序修改时已经
有 jsp 转换成 servlet 并缓存在 work 目录下,那么修改后需要先清除缓
存,才能看到效果。
实际上还有第三种方法可以禁用掉所有 jsp 中的 el 表达式,那就是把 web。xml
定义为 2。3 版。
117 / 148
…………………………………………………………Page 118……………………………………………………………
这个就是 13…03/WEB…INF/web。xml 的定义,定义了web…app 的版本号是 2。3,这
样一来所有的 jsp 都无法使用 el 表达式了,因为 el 表达式是 2。4 版才开始支持
的功能。
注意
说了以上三种禁用 el 表达式的方法,不是希望大家抛弃 el 表达式,相反是希望
大家在自己编写 el 时出现问题时,先去考虑是否有人在这三个地方做了设置造
成 el 表达式的失效。建议大家多多使用 el 表达式,少用一些 jsp 中的 scriptlet
代码。
13。2。 作用域
使用 el 的时候,默认会以一定顺序搜索四个作用域,将最先找到的变量值显示
出来。
如果我们有{username}这样一个正则表达式,它回去依次调用
pageContext。getAttribute(〃username〃) …》
request。getAttribute(〃username〃) …》 session。getAttribute(〃username〃)
…》 application。getAttribute(〃username〃),只要找到某一个不为空的值就立
刻返回。
这样的确方便我们的操作,但是随之也出现了另外一个问题,如果 pageContext
和 request 中有同名变量,但是我想取得request 中的变量该如何是好呢?这就
需要为 el 表达式引入作用域的概念了。
{pageScope。username}
{requestScope。username}
我们可以直接访问 13…04 这个应用,看看 el 表达式支持的所有对象。
118 / 148
…………………………………………………………Page 119……………………………………………………………
下面我们分别对每个作用域对象进行讲解。
表 13。1。 el 中的作用域
el 中的作用域 对应关系
pageContext 当前页的 pageContext 对象
pageScope 把 page 作用域中的数据映射为一个 map 对象
requestScope 把 request 作用域中的数据映射为一个 map 对象
sessionScope 把 session 作用域中的数据映射为一个 map 对象
applicationScope 把 application 作用域中的数据映射为一个 map 对象
param 对应 request。getParameter()
paramValues 对应 request。getParameterValues()
header 对应 request。getHeader()
headerValues 对应 request。getHeaderValues()
cookie 对应 request。getCookies()
initParam 对应 ServletContext。getInitParamter()
119 / 148
…………………………………………………………Page 120……………………………………………………………
例子中的{pageContext。request。contextPath}返回的是
request。getContextPath()的值,在此例中就是/13…04,我们经常使用这个
来拼接 jsp 中的绝对路径。
这里的{pageContext。request。contextPath}是一种特殊用法,不能使用
{request。contextPath}的形式替代。
pageScope; requestScope; sessionScope; appliationScope 都可以看作是
Map 型变量,调用其中的数据可以使用{pageScope。name}或
{pageScope'〃name〃'}的形式,这两种写法是等价的。
在某些情况下只能使用{pageScope'〃content…type〃'},这里不能写成
{pageScope。content…type},jsp 无法解析连字符(…)会出现错误。
需要注意的是{paramValues。name}得到的是一个字符串数组,如果需要获
得其中某个值,还需要使用{paramValues。name'0'}指定数组中的索引。
这与下面的{headerValues。name}是相似的。
{header。name}会取得 http 请求中的 header 参数,现实工作中很少用到这
里的数据。
例子中使用 Host 是指请求访问的主机地址,包括 ip 和端口号。而 Referer
比较有趣,如果用户通过超链接跳转过来的,Referer 会保存上次访问页面
的地址,我们就可以通过它来统计哪些用户是从哪里转来的了。
{cookie。name}将获得对应 cookie 的对象,比如我们用 jsp 将一段 cookie
发送给客户端。
Cookie cookie = new Cookie(〃username〃; 〃Username in cookie〃);
response。addCookie(cookie);
创建一个名称为 username,值为〃Username in cookie〃的Cookie 对象,然
后发送给客户端。
然后我们就可以使用{cookie。username}获得这个 cookie 了,
{cookie。username。name}获得 cookie 名称,{cookie。username。value}获
得 cookie 值。
ServletContext。getInitParamter()指的应用的初始变量,这些变量都是定
义在 web。xml 中的。
username
username with context param
120 / 148
…………………………………………………………Page 121……………………………………………………………
{initParam。username}就会得到这里的变量值。
以上都是死记硬背的东西,建议实际用到的时候翻看一下就好了,演示代码都放
在 13…04 下,为了获得 param 和 cookie 还要点击一下最下边的连接才可以。
13。3。 运算符
el 表达式中支持 java 中所有的操作符,并且还有一些扩展,下面我们简要做一
下对照。
表 13。2。 加减乘除四则运算
符号 说明
+ 加
减
* 乘
/或 div 除
小说推荐
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 最新章:第31章
- asp基础实用教程(DOC格式)
- 目 录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全一、关于ASP Active Server Pages(ASP)是服务器端脚本编写环境
- 最新章:第17章
- asp基础入门篇(DOC格式)
- ASP入门与实例-IIS的安装与配置1、运行环境与软件要求Windows 2000 以上(不包括Windows XP Home版)IIS 4.0 以上Microsoft Access 2000Dreamweaver MX2、IIS的安装与配置a.安装IIS若操作系统中还未安装IIS服务器,可打开"控
- 最新章:第23章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- Word2003使用技巧大全(DOC格式)
- Word使用技巧(二)表格使用大全更新时间:2009-11-16 19:32:15 本文共阅读了257次 作者:xushezheng 文章来源:电教组字体大小:大中小一、快速插入表格 拖动“插入表格”能插入的最大表格跟该图标位置、显示分辨率有关。如使用800×600分辨率时最大为18行×28列 二、
- 最新章:第1章
- Excel word ppt office使用技巧大全(DOC格式)
- -Page 1-Excel_word_ppt_使用技巧大全(完全版)Excelwordppt使用技巧大全(2011新版本)I-Page 2-Excel_word_ppt_使用技巧大全(完全版
- 最新章:第338章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章