09-el表达式

一、el + jstl 入门

1. EL 全名为Expression Language。它是一种数据访问语言

    el 表达式

2. EL 能实现如下功能:

    1) 使用变量访问web域中存储的对象  ${user }

    2) 访问javabean的属性 ${user.address.city }

    3) 执行基本的逻辑运算

    4) 直接使用隐式对象

    5) 调用 el 函数

3. el 表达式用在哪里

    1) 在 jsp 页面直接输出数据

    2) 在标签中使用el直接为属性赋值

 

4. el 表达式获取数据

    在jsp页面使用el表达式可以轻松地获得web域中的对象

    并对 javabean 、 数组、 list 、 map 进行取值

 

5. 需要对 web 域中的 list 和map 集合进行迭代就需要结合 jstl 迭代标签

 

JSTL是sun公司开发的一套标签库

使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码

 

在页面中使用JSTL标签需完成以下2个步骤:

1) 导入jstl.jar和standard.jar这两个JSTL的jar文件。

2) 在JSP页面中使用<%@ taglib url=“”  prifix=“” %>元素导入标签库。

 

最常用的 jstl 标签为 forEach 和 if 标签

<c:foreach var=”” items=””>

<c:if test=””>

 

6. el表达式可以进行逻辑运算

 

 

7. el表达式中的保留关键字

 

 

重点: el 取值  从四个域中取

              取出javabean的属性

              取出容器的内容  数组  list map

       jstl标签

              导入jar包

              在jsp页面通过taglib指令导入标签库

              forEach迭代标签   if条件判断

 

二、 el 中的11 个隐式对象

 

隐含对象名称

      

pageContext

对应于JSP页面中的pageContext对象

pageScope

代表page域中用于保存属性的Map对象

requestScope

代表request域中用于保存属性的Map对象

sessionScope

代表session域中用于保存属性的Map对象

applicationScope

代表application域中用于保存属性的Map对象

param

表示一个保存了所有请求参数的Map对象

paramValues

表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]

header

表示一个保存了所有http请求头字段的Map对象

headerValues

同上,返回string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]

cookie

表示一个保存了所有cookieMap对象

initParam

表示一个保存了所有web应用初始化参数的map对象

 

隐式对象的具体用途

1. pageContext 

    获得servlet上下文路径 (web应用名)

 

2. pageScope、requestScope、sessionScope、applicationScope

    准确地获得四个域中的对象

 

3. param、paramValues

    获得请求参数,一般用于做表单的回显

 

4. header、headerValues

    获得请求参数 

 

5. cookie

    获得浏览器发送的cookie

6. initParam

    获得web 初始化参数

 

三、 el 函数

1. 我们可以开发自定义函数,用于调用java类的方法

    案例: 对页面输出的内容进行 html 转义

    实现步骤:

    1) 编写一个java类, 定义一个静态方法

    去tomcat的例子中拷贝一个现成的

    %tomcat安装目录%\webapps\examples\WEB-INF\classes

    2) 编写标签库描述符(tld)文件,在tld文件中描述自定义函数
    找个现成的修改一下

    %tomcat安装目录%\webapps\examples\WEB-INF\jsp2

    3) 在jsp页面中导入标签库 即可使用函数

    <%@ taglib prefix="myfn" uri="/WEB-INF/myfn.tld" %>

<%@ taglib prefix="myfn" uri="http://www.itcast.cn/myfn" %>

 

帖子的内容 :  ${myfn:transfer(requestScope.data) }

 

2. sun 公司针对常用的字符串处理在jstl技术中提供了el函数中

 

 

 

你可能感兴趣的:(tomcat,Web,jsp,list,header,application)