域对象&EL表达式&JSTL

1.域对象
1.1概述
主要负责在不同web资源之间进行数据交换,(如:servlet和jsp之间的数据交换)。由于不同的web资源之间需要共享数据,所以就有了域对象。

1.2四个域对象
pageContext -- page域               
request -- request域
session -- session域
application -- context域
1.3域对象作用
保存数据和获取数据,用于数据共享。

1.4域对象方法
setAttribute("name",Object) 保存数据
getAttribute("name") 获取数据
removeAttribute("name") 清除数据
1.5域对象作用范围
page域: 只能在当前jsp页面中使用(当前页面)
request域: 只能在同一个请求中使用(转发)
session域: 只能在同一个会话(session对象)中使用(私有的)
context域: 只能在同一个web应用中使用。(全局的)
2.EL表达式与JSTL标准标签库
2.1EL与JSTL的作用
简化JSP页面上Java代码开发步骤,替代Java代码。
注意:
    JSP页面的主要任务:将域对象中数据读取并写入。

2.2EL表达式
(1)是一个Java开发工具包
(2)专门用于从域对象读取数据并写入到响应体开发任务
(3)语法格式:路径格式,类似于jQuery中选择器和过滤器语法
(4)EL工具包自动存在Tomcat中的lib目录下(el-api.jar)【开发时,可以直接使用不需要额外导包】

2.3EL的标准格式
(1)EL访问JavaBean的属性
    ${key.属性}
(2)EL访问数组中的数据
    ${数组名[下标]}
    ${数组名[下标].属性}
(3)EL获取list中数据
    ${集合名[下标]}
(4)EL访问Map
    ${集合名.key}

2.4EL隐式对象

JSP    EL
5application    applicationScope
session    sessionScope
request    requestScope
pageContext    pageScope
 

2.5EL中的运算符
算术运算符:+、-、*、/、%(不支持++、–)
关系运算符:==、!=、>、>=、<、<=   对应  eq ne gt ge lt le
逻辑运算符:!、&&、|| 对应 not、and、or
条件运算符:?:
取值运算符:[]、点号
empty运算符

2.6相对路径与绝对路径
相对路径与绝对路径的区别
(1)相对路径:以当前文件位置为起点,定位其它的资源文件
(2)绝对路径:以网站根目录为起点,定位其它的资源的文件

3.JSTL标签工具库
3.1概述
JSTL( JSP Standard Tag Library)是JSP标准标签库,由apache实现,因为在jsp中出现大量Java代码不利于维护,sun公司就制定了一个类似于html标签一下的jsp标签技术。

3.2组成
核心标签:Java在JSP上基本功能进行封装 if foreach
sql标签:JDBC在JSP上使用功能
xml标签:DOM4J在JSP使用功能
Format标签:JSP文件格式转换

3.3配置
导入依赖jar:jstl.jar standrad.jar

在jsp文件中引入JSTL中core包依赖约束

<%@ taglib uri = "" prefix = "c"%>
3.4常用标签使用
1.out标签
    作用:输出常量和变量
 
2.set标签
    作用:存值到scope中,可以将值以变量的形式存放到指定的范围
    属性:
        scope设定存放值的内容
        value指定存放值的内容
        var设定存放的变量
3.remove标签
    作用:remove掉某一个变量
    属性:
        var属性是必选的
        scope属性是必选的
4.if标签
    作用:实现分支条件的控制
    属性:
        test属性用来存放判断条件,一般使用EL表达式来编写
        var属性指定名称用来存放判断结果类型为true还是false
        scope属性用来存放指定var属性存放的范围
5.choose、when、otherwise标签
    作用:类似Java的switch多分支语句
        <c:choose>标签嵌套在<c:when>和<c:otherwise>标签的外面作为父标签来使用。
        <c:choose>标签和<c:when>标签也可以组合使用。
6.forEach标签(重点!!!重点!!!重点!!!)
    作用:根据循环条件遍历集合中的元素
    属性:
        var设定变量名用于存储从集合中取出的元素(必须无默认值)
        items指定要遍历的集合
        begin、and用于指定遍历的起始位置和终止位置(有默认值)
        step指定循环的步长(有默认值)
        varStatus通过index、count、first、last几个状态值,描述begin和end子集中的元素的状态。
7.forTookens标签
    作用:用于浏览字符串,并根据指定的字符串将字符串截取。
    属性:
        items指定被迭代的字符串
        delims指定使用的分隔符
        var指定用来存放遍历的元素
 
<c:set var="zifu" value="中国,美国,英国,法国" scope="page"/>
<c:forTokens items="${pageScope.zifu}" delims="," var="z">
    ${z}<br>
</c:forTokens>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值