4.javaweb-EL与JSTL

javaweb-EL与JSTL

一、为什么要使用EL表达式

在这里插入图片描述

二、EL语法

EL表达式(Expression Language)

E L 表达式 例如: {EL 表达式} 例如: EL表达式例如:{username}

EL操作符

操作符“.”

  • ​ 获取对象的属性,例如:${news.title}

操作符“[]”

  • ​ 获取对象的属性,例如:${news[“title”]}

  • ​ 获取集合中的对象,例如:${newsList[0]}

注意:EL严格区分大小写,初学者严格按规范书写,有利于养成好的编码习惯

三、EL运算符

运算符说明
( )改变执行的优先级,例如**${3*(4+5)}**
+,-,*,/,%算术运算符 , 例如 ${3+2}
==,!=,>,>=,<,<=关系运算符,例如 a = = b ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {a==b}** **或** ** a==b{a eq b}
&&,||,!逻辑运算符,例如 ${true&&false}
?:条件运算符,例如 ${a>b?1:2}
empty用于检测变量名是否为空,是否等于 NULL ,例如 ${empty name}
关系运算符范例结果
== eq 5 = = 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {5 == 5}** **或** ** 5==5{5 eq 5}true
!= ne 5 ! = 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {5 != 5}** **或** ** 5!=5{5 ne 5}false
< lt 3 < 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {3 < 5}** **或** ** 3<5{3 lt 5}true
> gt${3 > 5} {3 gt 5}false
<= le 3 < = 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {3 <= 5}** **或** ** 3<=5{3 le 5}true
>= ge 3 > = 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {3 >= 5}** **或** ** 3>=5{3 ge 5}false

四、EL功能

取得JavaBean对象的属性

  • ${news.title}

取得数组、List、Map类型对象的元素

  • ${list[0]}

使用各类运算符对原始数据进行简单处理

  • ${totalRecordCount/pageSize}

屏蔽一些常见的异常

  • ${username}

能实现简单的自动类型转换

  • ${news}相当于(News)request.getAttribute(“news”)

五、EL访问作用域

request.setAttribute(“news”, news);

两种方式取数据:

使用Java小脚本:request.getAttribute(“news”);

使用EL表达式: ${ news } 或者 ${ requestScope.news }

作用域Java 代码取值EL 取值
请求作用域request. getAttribute (“news”);${ request Scope .news }
会话作用域session. getAttribute (“username”);${ session Scope. username }
程序作用域application. getAttribute (“count”);${ application Scope .count }
页面作用域pageContext. getAttribute (" userNum ");${ page Scope .userNum }

六、JSTL介绍

1。JSTL(JavaServerPages Standard Tag Library)
  • JSP标准标签库
  • 实现JSP页面中的逻辑控制
2.JSTL使用步骤

下载jstl.jar和standard.jar包

  • http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

将这两个包复制到WEB-INF\lib目录

在JSP页面中添加指令

  • <%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

七、JSTL标签分类

标签库名称资源标示符( uri 前缀( prefix
核心标签库http://java.sun.com/jsp/jstl/corec
国际化 / 格式化标签库http://java.sun.com/jsp/jstl/fmtfmt
XML 标签库http://java.sun.com/jsp/jstl/xmlx
数据库标签库http://java.sun.com/jsp/jstl/sqlsql
函数标签库http://java.sun.com/jsp/jstl/functionsfn

核心标签库

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

国际化/格式化标签库

<%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt” %>

八、标签

标签名称作用
<c:out />输出文本内容到 out 对象,常用于显示特殊字符,显示默认值
<c:set/>在作用域中设置变量或对象属性的值
<c:remove/>在作用域中移除变量的值
<c:if/>实现条件判断结构
<c:forEach/>实现循环结构
<c:url/>构造 url 地址
<c:param/> url 后附加参数
<c:import/>在页面中嵌入另一个资源内容
< fmt:formatDate />格式化时间
< fmt:formatNumber />格式化数字
<c:out value="value" default="default" escapeXml="true|false" />
    value:需要输出显示的表达式
    default:默认输出显示的值
	escapeXml:是否对输出的内容进行转义

在这里插入图片描述

 <c:forEach/>迭代标签
	实现对集合的遍历
<c:forEach var="varName" items="items" varStatus="varStatus">
     ……
</c:forEach>
var:集合中元素的名称
items:集合对象
varStatus:当前循环的状态信息,例如循环的索引号

<c:if/>条件标签
实现条件的判断
    <c:if test="condition" var="varName" scope="scope">
         ……
	</c:if>
var:判断的结果
scope:判断结果存放的作用域


<c:url/>超链接标签
	<c:url  value="url" />
    
<c:param/>参数标签
	<c:param name="name"  value="value"/>
  
    name:参数的名称
	value:参数的值

<c:import/>导入标签
  <c:import url="URL" />

<fmt:formatDate/>格式化标签
<fmt:formatDate  value="date"  pattern="yyyy-MM-dd HH:mm:ss"/>
    value:事件对象
    pattern:显示格式

<c:import/>导入标签
<c:import url=“URL” />


```java
<fmt:formatDate/>格式化标签
<fmt:formatDate  value="date"  pattern="yyyy-MM-dd HH:mm:ss"/>
    value:事件对象
    pattern:显示格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒洋洋大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值