当前位置: 首页 > article >正文

EL表达式与JSTL

一、EL

1.JSP标准动作的局限

  • 一般是操作JavaBean的属性
  • JavaBean的属性只能为基本数据类型
  • 不能进行逻辑操作

2.如何实现?

  • JavaBean属性不是基本类型

public class School{

           private Teacher teacher;

           private Student student;

           ……//属性的getter、setter方法

}

3.EL的定义

  • Expression Language
  • 表达式语言

4.EL的功能

  • 与<jsp:getProperty />类似
  • 简化<jsp:geiProperty />

二、EL的语法以及运算符

1.一般形式:

  • ${EL exprission}

2.  .操作符

  • ${bean.属性名}
  • 左侧变量可以是JavaBean或Map
  •               例:${bean.name}
  •               实质是调用bean的getName()方法

3.[]操作符

  • ${bean [“属性名”]}
  • 属性名中有非字母、数字字符
  • 左侧变量可以是JavaBean,Map,List,数组
  •                     例:${bean[‘name’]}
  •                     EL中的[]不同于java中的数组访问操作符,数组和list[]中的String类型会被自动转换为int类型

4.EL算术运算符

算术运算符说明
+
-
*
/(div)
%(mod)取模

5.关系运算符

关系运算符说明
==(eq)等于
!=(ne)不等于
<(lt)小于
>(gt)大于
<=(le)小于等于
>=(ge)大于等于

6.EL逻辑运算符

逻辑运算符说明
&&(and)逻辑与
||(or)逻辑或
!(not)逻辑非

7。empty运算符:检测一个值是否为null,若是null则返回true,否则返回false

例:${empty myObject}

8.条件运算符:

例:${a?b:c}

9.EL隐含对象

  • 类似JSP的内置对象
  • 共有11个隐含对象

10.EL变量

  • 一般形式:${test}
  • 此表达式将按照四种适用范围顺序查找(page,request,session,application)

11.EL常用隐式对象

12.EL隐式对象介绍

对象名称说明
pageScope返回页面范围的变量名,这些名称已映射至相应的值
requestScope返回请求范围的变量名,这些名称已映射至相应的值
sessionScope返回会话范围的变量名,这些名称已映射至相应的值
applicationScope返回应用范围内的变量,并将变量名映射至相应的值
param返回客户端的请求参数的字符串值
paramValues返回映射至客户端的请求参数的一组值
pageContext提供对用户请求和页面信息的访问

三、JSTL

1.JSTL JSP标准标签库

  • 实现JSP页面标签化

2.JSTL标签分类

功能范围URL标签前缀
corehttp://java.sun.com/jsp/jst1/corec
I18Nhttp://java.sun.com/jsp/jst1/fmtfmt
SQLhttp://java.sun.com/jsp/jst1/sqlsql
XMLhttp://java.sun.com/jsp/jst1/xmlx
functionshttp://java.sun.com/jsp/jst1/functionsfn

3.使用JSTL的步骤

(1)创建Web工程,加入jst1-1.2.jar

(2)获得taglib指令的uri

  • 在项目中打开Libraries目录
  • 打开jst1-1.2.jar->META-INF->c.tld
  • 根据标签<uri>http://java.sun.com/jsp/jst1/core</uri>获取文本内容

(3)在JSP页面添加taglib指令

  • <%@ taglib uri="http://java.sun.com/jsp/jst1/core" prefix="c"%>

4.JSTL标准标签库内的标签

注:严格区分大小写

5.通用标签

(1)set

  • 用于给变量设置值和作用范围
  • scope="page|request|session|application"

(2)out

  • 在页面上显示信息或变量值

(3)remove

  • 删除作用域内的变量

(4)if

  • 条件标签

(5)choose

  • 选择标签

(6)forEach

  • 循环标签

四、过滤器

过滤器(filter)

  • 在源数据与目标数据之间实现过滤作用的中间组件
  • 实现Filter接口
  • 过滤器可以通过语句chain.doFilter(httpRequest,httpResponse):被依次调用


http://www.kler.cn/a/459462.html

相关文章:

  • MySQL Binlog 监听方案
  • 【RTD MCAL 篇3】 K312 MCU时钟系统配置
  • AutoSar架构学习笔记
  • 【重庆】《政务数字化应用费用测算规范》(T/CDCIDA 001—2023)-省市费用标准解读系列36
  • 如何逐步操作vCenter修改DNS服务器?
  • Kafka 快速实战及基本原理详解解析-01
  • Quo Vadis, Anomaly Detection? LLMs and VLMs in the Spotlight 论文阅读
  • Java基础(三):桌球案例
  • Qt https请求报错SSL handshake failed 解决思路方法
  • AI大模型-提示工程学习笔记0
  • 进程通信(8)读写锁
  • LabVIEW手部运动机能实验系统
  • 使用工厂+策略模式实现去除繁琐的if else
  • 菲尼克斯超级工厂落地南京,汽车市场被瞄准
  • FreeRTOS的时间管理
  • CSS过渡(transition)
  • 【Rust自学】8.2. Vector + Enum的应用
  • 第1关:博客系统数据库设计与实现之查询
  • bacnet mstp设备数据 转 opc ua项目案例
  • vue实现平滑滚动到目标标签页
  • 数据结构-1-线性表
  • Azure DevOps Server:使用TfsDeleteProject.exe删除团队项目
  • 第四期书生大模型实战营 第10关 InternVL 多模态模型部署微调实践
  • WebRTC :原理、协议和应用场景
  • 24.12.27 SpringMVCDay02
  • python3中条件判断语句:if 语句与if嵌套语句