EL表达式与JSTL标签

导读:本篇文章讲解 EL表达式与JSTL标签,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

一、EL表达式

1、EL操作符

2、EL功能

3、EL访问作用域

二、JSTL标签

1、JSTL使用步骤

2、JSTL标签分类

3、JSTL标签的使用


一、EL表达式

Expression Language表达式语言,用于简化JSP页面内的Java代码主要功能:获取数据

语法: 

${expression}

获取域中存储的key为brands的数据

1、EL操作符

1、操作符“.”

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

2、操作符“[ ]

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

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

EL运算符

运算符 说明

( )

改变执行的优先级,例如${3*(4+5)}

+,-,*,/,%

算术运算符,例如${3+2}

==,!=,>,>=,<,<=

关系运算符,例如${a==b}${a eq b}

&&,||,!

逻辑运算符,例如${true&&false}

?:

条件运算符,例如${a>b?1:2}

empty

用于检测变量名是否为空,是否等于NULL,例如${empty name}

关系运算符 示例 结果

== 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 

2、EL功能

取得JavaBean对象的属性

${news.title}

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

${list[0]}

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

${totalRecordCount/pageSize}

 屏蔽一些常见的异常

${username}

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

${news}相当于(News)request.getAttribute("news")

3、EL访问作用域

两种方式取数据:

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

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

JavaWeb中的四大域对象:

作用域 Java代码取值 EL取值

请求作用域

request.getAttribute(“news”);

${ requestScope.news }

会话作用域

session.getAttribute(“username”);

${ sessionScope.username }

程序作用域

application.getAttribute(“count”);

${ applicationScope.count }

页面作用域

pageContext.getAttribute(“userNum“);

${ pageScope.userNum }

el表达式获取数据,会依次从这4个域中寻找,直到找到为止

二、JSTL标签

JSP标准标签库(Jsp Standarded Tag Library),使用标签取代JSP页面上的Java代码

1、JSTL使用步骤

1、下载jstl.jarstandard.jar

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

3、在JSP页面中添加指令

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

2、JSTL标签分类

标签库 资源标识符 前缀

核心标签库

http://java.sun.com/jsp/jstl/core

c

国际化/格式化标签库

http://java.sun.com/jsp/jstl/fmt

fmt

XML标签库

http://java.sun.com/jsp/jstl/xml

x

数据库标签库

http://java.sun.com/jsp/jstl/sql

sql

函数标签库

http://java.sun.com/jsp/jstl/functions

fn

核心标签库

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

国际化/格式化标签库

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

3、JSTL标签的使用

<c:out/>标签

语法:

value="value":需要输出显示的表达式
default="default":默认输出显示的值
escapeXml="true|false":是否对输出的内容进行转义

<c:out value="value" default="default" escapeXml="true|false" />

设置变量

var="name" :表示变量名称
value= "value":表示变量的值
scope="scope":存在的作用域

<c:set  var="name"  value= "value" scope="scope" />

设置对象属性

value= "value":表示属性的值
target="target":表示对象
property="propertyName":表示对象的属性名称

<c:set value= "value" target="target" property="propertyName" />

<c:forEach/>标签

<c:forEach/>迭代标签:实现对集合的遍历

var="varName":集合中元素的名称
items="items":集合对象
varStatus="varStatus":当前循环的状态信息,例如循环的索引号

<c:forEach var="varName" items="items" varStatus="varStatus">
     ……
</c:forEach>

<c:if/>标签

<c:if/>条件标签:实现条件的判断

var="varName":判断的结果
scope="scope":判断结果存放的作用域

<c:if test="condition" var="varName" scope="scope">
         ……
</c:if>

使用JSTL构建URL

<c:url/>超链接标签

<c:url  value="url" />

<c:param/>参数标签

name="name":参数的名称
value="value":参数的值

<c:param name="name"  value="value"/>

<c:import/>导入标签

url="URL":导入资源的路径

<c:import url="URL" />

<fmt:formatDate/>标签

<fmt:formatDate/>格式化标签:实现格式化的日期和时间显示

value="date":时间对象
pattern="yyyy-MM-dd HH:mm:ss":显示格式

<fmt:formatDate  value="date"  pattern="yyyy-MM-dd HH:mm:ss"/>
标签名 作用

<c:out />

输出文本内容到out对象,常用于显示特殊字符,显示默认值

<c:set/>

在作用域中设置变量或对象属性的值

<c:remove/>

在作用域中移除变量的值

<c:if/>

实现条件判断结构

<c:forEach/>

实现循环结构

<c:url/>

构造url地址

<c:param/>

url后附加参数

<c:import/>

在页面中嵌入另一个资源内容

<fmt:formatDate/>

格式化时间

<fmt:formatNumber/>

格式化数字

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97177.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!