EL和JSTL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL和JSTL相关的知识,希望对你有一定的参考价值。

一、EL表达式:是Expression Language的缩写

EL表达式不区分字母的大小写,并且语法非常简单。${EL表达式},还可以只用‘.‘操作符和“[]”操作符来完成。

EL表达式通常用有:对象和属性,使用“.”操作符来访问对象的属性,如${a.b}。

“[]”操作符不仅可以访问对象的属性还可以访问组和集合,如:${news[“title”]},来访问news对象的title属性。

如:newsList[0],访问newsList数组中的第一个元素。
注意:1.使用[]操作符访问数据时,必须在属性名上使用双引号。

技术分享技术分享

使用EL访问作用域:如果不指定作用域范围系统自动按照顺序(page->request->session->application)进行查找。

技术分享

二、JSTL(Java Page Standard Tag Library ,java标准标签库)

技术分享技术分享

(1).<c:out>标签:

1.可以对数据进行转义输出。在输出是可以对数据内容中html标记进行转义,如在数据中包含<a></a>的字符内容,若不经转义被视为解析为超链接,而转义后视为文本,escapeXml是否过滤xml文档。
2.可设置默认值等。
3.<c:out value=”值” default=”默认值” escapeXml=”true|false”/>

(2).<c:set>标签与<c:remove>标签

<c:set>标签设置变量的语法:<c:set value=”变量的值” var=”变量的名称” scope=”是哪个作用域”/>
<c:set>设置对象属性的语法:<c:set value=”属性的值” target=”对象的名称” property=”对象的属性名称”/>
<c:remove var=”变量的名称” scope=”变量存在的作用域范围”/>
注意:<c:set>与<c:remove>标签中的var属性与scope属性不能接收动态的值;

(3).<c:foreach/>迭代标签:

<c: foreach var=”集合中元素的名称” item=”集合对象” varStatus=”当前循环的状态信息,如循环的索引号”/>

(4).<c:if/>条件标签:

<c:if test=”判断的条件” var=”判断的结果“ scope=”判断结果存放的作用域”/>

(5).使用JSTL构造URL

<c:url value=”需要构造的url可以是相对路径,也可以是绝对路径”/>
在页面跳转时候需要数据的传递:<c:param/>
<c:param name=”参数的名称” value=”参数的值”/>
<c:import/>在页面中导入一个基于URL的资源,这个标签的作用和<jsp:include/>动作类似,区别在于使用<c:import/>标签不仅可以导入同一个web应用程序下的资源,还可以导入不同web应用下在资源。
<c:import url=”导入资源的url路径”/>

(6).格式化日期标签的使用:

<fmt:formatDate value=”时间对象” pattern=”yyyy-MM-dd HH-mm:ss”/>

(7).<c:choose>标签的使用

<c:choose>

  <c:when test="${表达式}"></c:when>

  <c:when test="${表达式}"></c:when>

  <c:otherwist></c:otherwist>

</c:choose>

三、JSTL标签的使用

如果使用JSTL必须引入jstl.jar和standard.jar

在jsp页面中引入taglib标签<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>或者

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

 

 

 

 

 

以上是关于EL和JSTL的主要内容,如果未能解决你的问题,请参考以下文章

Ognl 和 EL 和jstl区别

EL表达式和JSTL标签

JSTL不同版本和EL表达式的关联

EL 和 JSTL

JSTL和EL

EL表达式和JSTL