el表达式和jstl标签库

el表达式和jstl标签库

一:el表达式:表达式语言,jsp页面获取数据比较简单
1、el表达式的语法(掌握)
el表达式通常取值是获取作用域对象中的属性值: 属 性 名 = > 是 e l 表 达 式 的 简 写 的 形 式 跟 j q u e r y 不 一 样 , {属性名}=>是el表达式的简写的形式 跟jquery不一样, =>eljquery(选择器)jquery对象,代码写在js的脚本块中
完整的书写形式:
  四个作用域 四种取值方式获取不同作用域中的属性值
${pageScope.attrname } pageScope.属性名
${requestScope.attrname }
${sessionScope.attrname }
${applicationScope.attrname }
注:jsp2.0以上版本,对应 servlet 3.0以上版本,jsp默认忽略EL表达式,所以在使用el表达式的时候需要在 page指令中加上。isELIgnored=“false” 开启EL表达式,true忽略(默认是忽略)
EL表达式取值的两种方式例子:test.jsp

View Code
在测试作用范围页面之前,必须先运行 test.jsp将数据放到作用域对象中
测试test.jsp四个作用域的作用范围【getTest.jsp】

View Code
如果不同的作用域,但是属性名相同

注意:在省略 ***Scope对象的时候,取值的顺序,先从小范围获取数据 page,如果获取到了就返回,如果page获取不到,会去找request域,依次类推,找application ,如果都找不到,则返回null
2、el表达式获取不同数据类型的值(java 代码 字符串,数值,对象,list,map,数组)
①对象

注:在获取对象属性的时候,el表达式的解析的工具类,底层调用 的 get方法,不是直接调用的属性。el的解析对象用的反射,调用 get方法 Class ----getMethod(“get方法”)。${student.id }<=> ${student.getId }
②list

③map

注:map取值有两个:
点获取.简单【 m a p . f a v 】 [ &quot; k e y &quot; ] 比 较 灵 活 , 可 以 处 理 特 殊 符 号 【 {map.fav }】 [&quot;key&quot;] 比较灵活,可以处理特殊符号【 map.fav["key"]{map.fav,ff }错误的 =>${map[“fav,ff”] }】
④数组

student.java

View Code
test.jsp

View Code
3、el表达式的基本运算

  • 字符串相加 非数值型字符串,在el表达式中不能直接相加,需要存放到request域中

4、el表达式可以在html代码块中,javascript 的脚本块中

5、el表达式的内置对象11个(掌握其中的一部分)
隐含对象 描述
和作用域相关的【前4】,存取数据的隐含对象:【主要作用:获取作用域对象的数据 】

二:jstl标签库
1、jstl标签库,jsp标准标签库(只要jsp,标签库就起作用)
jstl标签库常用标签:jstl 标签库 for 循环,条件判断【for循环方法的封装 ,if 判断方法的封装】
2、jstl标签库的分类:
 ①核心标签库:c标签库
 ②常用标签:foreach 标签 遍历数据、逻辑判断标签:c:if、c:when、c:choose、c:otherwise
 ③格式化标签库:时间格式化标签
 ④函数标签库
 ⑤xml标签库
 ⑥数据库sql标签库
3、jstl标签库使用
jstl 标签,就是 java代码对 函数的封装
myeclipse创建web项目的时候,自动加载jstl

①引入相应的jstl标签库

<%@taglib prefix=“c” uri=“http://java.sun.com/jstl/core_rt” %>

<%@taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %>
解释:@taglib引入、uri 标签库地址、
tld 文件 将标签库底层的java实现类和 jsp连接起来的文件

②使用标签库

参数解释:
<c:set></c:set>:存储数据、var 存储数据的变量、scope 作用范围、value 存储的数据
<c:out value=""></c:out>:value 输出数据
<c:remove var=“name”/>:移除数据
遍历:

<c:forEach var=“stu1” items=" l i s t &quot; &gt;     {list }&quot;&gt;    list">  {stu1.id }=>${stu1.name }



</c:forEach>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值