EL表达式和JSTL的介绍以及基本使用
EL表达式介绍
- EL(Expression Language):表达式语言
- 在 JSP 2.0 规范中加入的内容,也是 Servlet 规范的一部分
- 作用:在 JSP 页面中获取数据。让我们的 JSP 脱离 java 代码块和 JSP 表达式
- 语法:
${ 表达式内容 }
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>EL表达式快速入门</title>
</head>
<body><%--1.向域对象中添加数据--%><% request.setAttribute("username","zhangsan"); %><%--2.获取数据--%>Java代码块:<% out.println(request.getAttribute("username")); %> <br>JSP表达式:<%= request.getAttribute("username")%> <br>EL表达式:${username}
</body>
</html>
EL表达式的注意事项
- EL 表达式没有空指针异常
- EL 表达式没有索引越界异常
- EL 表达式没有字符串的拼接
EL表达式的运算符
关系运算符
运算符 作用 示例 结果 == 或 eq 等于 ${5 == 5} 或 ${5 eq 5} true != 或 ne 不等于 ${5 != 5} 或 ${5 ne 5} false < 或 lt 小于 ${3 < 5} 或 ${3 lt 5} true > 或 gt 大于 ${3 > 5} 或 ${3 gt 5} false <= 或 le 小于等于 ${3 <= 5} 或 ${3 le 5} true >= 或 ge 大于等于 ${3 >= 5} 或 ${3 ge 5} false 逻辑运算符
运算符 作用 示例 结果 && 或 and 并且 ${A && B} 或 ${A and B} true/false || 或 or 或者 ${A || B} 或 ${A and B} true/false ! 或 not 取反 ${ !A } 或 ${ not A } true/false 其他运算符
运算符 作用 empty 1.判断对象是否为null
2.判断字符串是否为空字符串
3.判断容器元素是否为0条件 ? 表达式1 : 表达式2 三元运算符 - 容器元素是否为0,就是容器的长度是否为0(其实就是检查容器是否为空)
EL表达式使用细节
EL 表达式能够获取四大域对象的数据,根据名称从小到大在域对象中查找
还可以获取 JSP 其他八个隐式对象,并调用对象中的方法
<%--获取四大域对象中的数据--%> <% //pageContext.setAttribute("username","zhangsan"); request.setAttribute("username","zhangsan"); //session.setAttribute("username","zhangsan"); //application.setAttribute("username","zhangsan"); %> ${username} <br><%--获取JSP中其他八个隐式对象 获取虚拟目录名称--%> <%= request.getContextPath()%> ${pageContext.request.contextPath}
EL表达式的11个隐式对象
EL表达式也为我们提供隐式对象,可以让我们不声明直接来使用,十一个对象见下表,需要注意的是,它和JSP的隐式对象不是一回事:
EL中的隐式对象 | 类型 | 对应JSP隐式对象 | 备注 |
---|---|---|---|
PageContext | Javax.serlvet.jsp.PageContext | PageContext | 完全一样 |
ApplicationScope | Java.util.Map | 没有 | 操作应用域对象数据 |
SessionScope | Java.util.Map | 没有 | 操作会话域对象数据 |
RequestScope | Java.util.Map | 没有 | 操作请求域对象数据 |
PageScope | Java.util.Map | 没有 | 操作页面域对象数据 |
Header | Java.util.Map | 没有 | 根据key获取请求消息头,值是一个 |
HeaderValues | Java.util.Map | 没有 | 根据key获取请求消息头,值是多个(数组) |
Param | Java.util.Map | 没有 | 根据key获取请求参数,值是一个 |
ParamValues | Java.util.Map | 没有 | 根据key获取请求参数,值是多个(数组) |
InitParam | Java.util.Map | 没有 | 根据key获取全局参数,value是参数值 |
Cookie | Java.util.Map | 没有 | 根据key获取cookie的值 |
JSTL的介绍
JSTL(Java Server Pages Standarded Tag Library):JSP 标准标签库
主要提供给开发人员一个标准通用的标签库
开发人员可以利用这些标签取代 JSP 页面上的 Java 代码,从而提高程序的可读性,降低程序的维护难度
它由以下5个部分组成:
组成 作用 说明 core 核心标签库 通用的逻辑处理 fmt 国际化 不同地域显示不同语言 functions EL函数 EL表达式可以使用的方法 sql 操作数据库 用于操作数据库 xml 操作XML 用于操作XML
核心标签库
1)核心库介绍
实际开发中,用到的jstl标签库主要以核心标签库为准,偶尔会用到国际化标签库的标签。下表中把我们经常可能用到的标签列在此处。
标签名称 | 功能分类 | 分类 | 作用 |
---|---|---|---|
<c:if>
|
流程控制 | 核心标签库 | 用于判断 |
<c:choose>,<c:when>,<c:otherwise>
|
流程控制 | 核心标签库 | 用于多个条件判断 |
<c:foreache>
|
迭代操作 | 核心标签库 | 用于循环遍历 |
案例
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <!--prefix给jstl core核心库起个前缀名,使用的标签就以c开头--> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head><title>流程控制</title> </head> <body><%--向域对象中添加成绩数据--%>${pageContext.setAttribute("score","T")}<%--对成绩进行判断--%><c:if test="${score eq 'A'}">优秀</c:if><%--对成绩进行多条件判断--%><c:choose><c:when test="${score eq 'A'}">优秀</c:when><c:when test="${score eq 'B'}">良好</c:when><c:when test="${score eq 'C'}">及格</c:when><c:when test="${score eq 'D'}">较差</c:when><c:otherwise>成绩非法</c:otherwise></c:choose><%--向域对象中添加集合--%><%ArrayList<String> list = new ArrayList<>();list.add("aa");list.add("bb");list.add("cc");list.add("dd");pageContext.setAttribute("list",list);%><%--遍历集合--%><c:forEach items="${list}" var="str">${str} <br></c:forEach> </body> </html>
EL表达式和JSTL的介绍以及基本使用相关推荐
- java标签库jstl-el表达式介绍使用配置手册_JAVA EE 实验报告EL表达式和jstl标签库的使用...
昆明理工大学信息工程与自动化学院学生实验报告 ( 2013 -2014 学年第一学期) 课程名称:Java EE技术开课实验室:系机房444 2013 年 12月2 日年级.专业.班计科111 学号姓 ...
- java el表达式 if else_jsp EL表达式和JSTL标签if-else if-else用法
java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法 一.条件运算符 ${user.gender==?'男':'女'} 二.if() code.. ...
- spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)
EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <%= %> j2ee1.4以前版本需指定<%@ page is ...
- EL表达式和JSTL:你真的熟练了吗?
El表达式与JSTL EL表达式 1.运算 2.获取值 JSTL 1.概念 2.作用 3.使用步骤 4.常用的JSTL标签 5.练习 本文主要介绍EL表达式与JSTL,在这之前先科普一下MVC开发模式 ...
- 大数据WEB阶段(十三)JSP(二)JSP标签、EL表达式、JSTL
JSP标签.EL表达式.JSTL (一)JSP标签技术 一.JSP标签技术概述 jsp本质上是一种动态web资源开发技术 , 看起来像是html , 但其中可以写java代码 , 非常方便用来开发动态 ...
- el表达式与jstl的用法
课上顺便整理了下java中的El表达式和jstl的用法,下面以举例的方式来阐述各个标签的作用: 一. 使用el表达式将Map集合中的数据显示出来: 先给Map集合里面放一些数据库,通过EL表达式显示在 ...
- jsp脚本、jsp标准动作、EL表达式、JSTL标签
https://blog.csdn.net/gx_hxl/article/details/79032331 https://blog.csdn.net/a731604348/article/detai ...
- JavaWeb EL表达式, JSTL标签及过滤器综合学习
1.项目结构如右边图所示: (1)controller.filter包下面定义2个过滤器,EncodingFilter 类CheckUserFilter类(后面会有一个登陆验证的过滤器的测试学习), ...
- 28. EL 表达式 以及 JSTL 标签库
28. EL 表达式 以及 JSTL 标签库 1.EL 表达式 a)什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达 ...
- EL表达式和JSTL标签:简化JSP的Java代码
JSP页面接收.展示后端的数据,再JSP页面写很多的Java代码会造成书写麻烦.难以阅读.不利于团队协作的缺点,因此我们使用EL表达式和JSTL标签,代替并简化了JSP页面 EL表达式 语法:${st ...
最新文章
- LeetCode 137. Single Number II--三次异或消除相同的数--C++,Python解法
- python分析excel数据-总结:像Excel一样使用python进行数据分析
- ITK:自适应直方图均衡图像滤波器
- Linux字符设备驱动框架
- HTML--HTML对象的关于位置和大小的属性的图解
- springboot jpa sql打印_SpringBoot集成Spring Data JPA以及读写分离
- Linux 命令(140)—— tree 命令
- liunx 命令 之 mkdir 与 touch
- JS中的map()和forEach()有什么区别?
- 十大排序算法——计数排序(C语言)
- 为什么jar包代码与源代码不一致_Jacoco代码覆盖率工具
- 哈希算法——论文整理(未完)
- 基于java的病历管理系统设计与实现
- linux下分析prn文件,Linux文件的管理
- 高并发系统架构案例 - 微信红包高并发架构设计 - 学习/实践
- 社工小组 计算机小组活动,《社工小组活动常用游戏整理》
- 【Access2003】表的新建、用sql语句查询;关闭警告信息;修改数据库密码;修复数据库
- SAP PO的结算状态
- 什么是即时通讯?即时通讯的发展
- canvas student下载_悉大官方学生系统万能的Canvas和Sydney Student,你真的会用吗?官网平台两步走+实用功能型Tips!...