快捷搜索: 王者荣耀 脱发

javaweb之EL表达式和JSTL(总体第七篇)

之前已经学习到我们Javaweb之Servlet,本文也是总体复习笔记的第七篇,有需要的朋友可以参考我主页的javaweb目录,参考其他笔记

一、EL语法学习

1、介绍搭建实验环境

(1)什么是EL表达式

    EL表达式的全称是:Expression Language 表达式语言 EL表达式作用:EL表达式主要是代替jsp页面中的表达式脚本jsp页面进行数据的输出,因为jsp输出数据很臃肿。

(2)看例子演示

    EL:格式是${表达式} EL表达式在输出null的时候,也比较智能。

2、EL表达式搜索域数据的顺序

EL 表达式主要是在 jsp 页面中输出数据。主要是输出域对象中的数据。当四个域中都有相同的 key 的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。

3、EL表达式输出对象(Bean)的普通属性,数组属性,List集合属性,map集合属性

4、EL表达式-----运算

整体语法:${运算表达式},EL 表达式支持如下运算符

(1)关系运算

    或eq:等于,${aa} 或者${a eq a} != 或ne:不等于 < 或lt:小于 或gt :大于 <= 或le:小于等于 = 或ge:大于等于

(2)逻辑运算

    && 或 and :与运算 || 或 or:或运算 ! 或 not:取反运算

(3)算数运算

    +:加法运算 -:减法运算 *:乘法运算 /或div:除法运算 %或mod:取模运算

(4)empty运算

empty 运算可以判断一个数据是否为空,如果为空,则输出 true,不为空输出 false。

(5)三元运算

这个和java里面的一样的 表达式1?表达式2:表达式3 1真返回2,1假返回3

(6)“.”点运算和[]中括号运算符

    .点运算,可以输出Bean对象中某个属性 []中括号运算,可以输出有序集合中某个元素的值,并且中括号运算,可以输出map集合汇中key里含有特殊字符的key的值

5、EL表达式的11个隐含对象

(1)EL获取四个特定域中的属性

    pageScope:pageContext域 requestScope:Request域 sessionScope:session域 applicationScope:ServletContext域
    选择性的输出

(2)pageContext对象的使用

(3)EL表达式其他隐含对象的使用

    获取属性 获取请求头信息 获取cookie信息 获取web.xml中的配置

二、JSTL标签库

1、什么是JSTL

    JSTL 标签库 全称是指 JSP Standard Tag Library JSP 标准标签库。是一个不断完善的开放源代码的 JSP 标 签库。 EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个 jsp 页面 变得更佳简洁。 JSTL由五个不同功能的标签库组成

2、在JSP标签库中使用taglib指令引入标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
XML 标签库
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
FMT 标签库
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
SQL 标签库
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
FUNCTIONS 标签库
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %

3、使用JSTL标签库的使用步骤

    首先肯定是导入jar包 然后引入核心库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

4、Core核心库使用

经过步骤三才可以进行如下

(1)<c:set>标签

    可以设置保存到哪个域
保存之前:${
          
    sessionScope.abc } <br>
<c:set scope="session" var="abc" value="abcValue"/>
保存之后:${
          
    sessionScope.abc } <br>
    这里修改一下,改变一下位置,再添加到项目模块

(2)<c:if/>

(3)<c:choose><c:when><c:otherwise>标签

作用:多路判断,根switch…case…default

(4)遍历1到10

    遍历类型数组 遍历map集合 遍历list类型的类型集合
经验分享 程序员 微信小程序 职场和发展