JSP域对象、EL表达式以及JSTL标准标签库

本文详细介绍了Java Web开发中的域对象,包括pageContext、request、session和application,阐述了它们的作用、方法和作用范围。接着讲解了EL表达式的功能、标准格式、运算符以及隐式对象。最后,探讨了JSTL标签库的核心标签及用法,如out、set、remove、if、forEach等,强调了它们在提高代码可维护性上的价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.域对象

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

        1.1 四个域对象                             

        pageContext -- page域

        request -- request域

        session -- session域

        application -- context域

        1.2 域对象作用

                保存数据和获取数据,用于数据共享。

        1.3 域对象方法

        setAttribute("name",Object) 保存数据

        getAttribute("name") 获取数据

        removeAttribute("name") 清除数据

        1.4 域对象作用范围

        page域: 只能在当前jsp页面中使用(当前页面)

        request域: 只能在同一个请求中使用(转发)

        session域: 只能在同一个会话(session对象)中使用(私有的)

        context域: 只能在同一个web应用中使用。(全局的)

2.EL表达式        

        (1)是一个Java开发工具包

        (2)专门用于从域对象读取数据并写入到响应体开发任务

        (3)语法格式:路径格式,类似于jQuery中选择器和过滤器语法

        (4)EL工具包自动存在Tomcat中的lib目录下(el-api.jar)【开发时,可以直接使用不需要额外导包】

        2.1 EL的标准格式

        (1)EL访问JavaBean的属性

                ${key.属性}

        (2)EL访问数组中的数据

                ${数组名[下标]}

                ${数组名[下标].属性}

        (3)EL获取list中数据

                ${集合名[下标]}

        (4)EL访问Map

                ${集合名.key}

        2.2 EL隐式对象

        | JSP        | EL              |

        | ----------- | ---------------- |

        | application | applicationScope |

        | session    | sessionScope    |

        | request    | requestScope    |

        | pageContext | pageScope        |

        2.3 EL中的运算符

        算术运算符:+、-、*、/、%(不支持++、–)

        关系运算符:==、!=、>、>=、<、<=  对应  eq ne gt ge lt le

        逻辑运算符:!、&&、|| 对应 not、and、or

        条件运算符:?:

        取值运算符:[]、点号

        empty运算符

        2.4 相对路径与绝对路径        

                相对路径与绝对路径的区别

                (1)相对路径:以当前文件位置为起点,定位其它的资源文件

                (2)绝对路径:以网站根目录为起点,定位其它的资源的文件

3.JSTL标签工具库

        概述:

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

        3.1 组成

        核心标签:Java在JSP上基本功能进行封装 if foreach

        sql标签:JDBC在JSP上使用功能

        xml标签:DOM4J在JSP使用功能

        Format标签:JSP文件格式转换

        3.2 配置       

        导入依赖jar:`jstl.jar`  `standrad.jar`

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

        <%@ taglib uri = "" prefix = "c"%>

        3.3 常用标签使用

        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指定用来存放遍历的元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值