EL 和 JSTL
一、EL表达式语言(Expression Language),或称EL表达式,简称EL
二、EL语言:
在JSP中访问模型对象是通过EL表达式的语法来表达。所有EL表达式的格式都是以“ ” 表 示 。 例 如 , {}”表示。例如, ”表示。例如,{
userinfo}代表获取变量userinfo的值。当EL表达式中的变量不给定范围时,则默认在page范围查找,然后依次在request、session、application范围查找。也可以用范围作为前缀表示属于哪个范围的变量,例如:${
pageScope. userinfo}表示访问page范围中的userinfo变量。
三、语法结构
${expression}
四、作用:
a.获取数据:EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
b.执行运算:利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
c.获取web开发常用对象:EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
d.调用Java方法:EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
五、操作符:
- 算术运算符
算术运算符主要有平时常用的“+”、“-”、“*”、“/”、“%”。 - 关系运算符
关系运算符主要有“==”、“!=”、“<”、“>”、“<=”、“>=”。 - 逻辑运算符
逻辑运算符主要有“&&”、“||”、“!”。
六、EL隐含对象:
隐含对象 | 描述 |
---|---|
requestScope | request 作用域 |
pageScope | page 作用域 |
sessionScope | session 作用域 |
applicationScope | application 作用域 |
param | Request 对象的参数,字符串 |
paramValues | Request对象的参数,字符串集合 |
header | HTTP 信息头,字符串 |
headerValues | HTTP 信息头,字符串集合 |
initParam | 上下文初始化参数 |
cookie | Cookie值 |
pageContext | 当前页面的pageContext |
七、JSTL的定义:
JSTL 全名为JavaServer Pages Standard Tag Library,这里介绍版本1.1。JSTL是由JCP(Java
Community Process)所指定的标准规格,它主要提供给Java Web 开发人员一个标准通用的标签函数库。
JSTL简介:
JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java
community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库。
组成:
1.核心标签:核心标签库是整个JSTL中最常用的部分,主要由以下几部分组成:基本输入输出、流程控制、迭代操作和URL操作。负责Web应用的常见工作,如:循环、表达式赋值、基本输入输出等。
2.格式标签库:用来格式化显示数据的工作如:对不同区域的日期格式化等。
3.XML标签库:用来访问XML文件的工作,支持JSP对XML文档的处理。
4.数据库标签库:SQL标签库包括了大部分访问数据库的逻辑操作,包括查询、更新、事务处理、设置数据源等。可以做访问数据库的工作。
5.函数标签库:用来读取已经定义的某个函数。
标签分类:
a.核心标签:
标签 | 描述 |
---|---|
<c:out> | 用于在JSP中显示数据,就像<%= … > |
<c:set> | 用于保存数据 |
<c:remove> | 用于删除数据 |
<c:catch> | 用来处理产生错误的异常状况,并且将错误信息储存起来 |
<c:if> | 与我们在一般程序中用的if一样 |
<c:choose> | 本身只当做<c:when>和<c:otherwise>的父标签 |
<c:when> | 本身只当做<c:when>和<c:otherwise>的父标签 |
<c:otherwise> | <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行 |
<c:import> | 检索一个绝对或相对 URL,然后将其内容暴露给页面 |
<c:forEach> | 基础迭代标签,接受多种集合类型 |
<c:forTokens> | 根据指定的分隔符来分隔内容并迭代输出 |
<c:param> | 用来给包含或重定向的页面传递参数 |
<c:redirect> | 重定向至一个新的URL. |
<c:url> | 使用可选的查询参数来创造一个URL |
b.格式化标签
c.SQL标签
d.XML标签
e.JSTL函数