EL表达式与JSTL简单入门

EL概述
       EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。

简单来说EL表达式就是让程序员,简化了代码的书写量。在学EL表达式之前我们必须通过<%=      %>来取出域中的数据,但这种方式        过于繁琐,所以就诞生了EL表达式。

EL取出JSP四大域对象中保存的数据

pageContext域:${pageScope.key};
request域:${requestScope.key};
session域:${sessionScope.key};
application域:${applicationScope.key};
EL从四个域中获得某个值

写法:${key};

例:如果在request域中存储了一个名为"productList"的对象,我们不需要通过${requestScope.productList}取出相应的对象,只需要${productList}即可取出相应的对象。

相当于pageContext.findAttribute()从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找.

JSTL概述
     JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标签库有5个子库,但随着发展,目前常使用的是他的核心库。

JSTL五大子库
    Core (核心库)  标签库的URI:http://java.sun.com/jsp/jstl/core  常用前缀:c

I18N(国际化)   标签库的URI:http://java.sun.com/jsp/jstl/fmt 常用前缀:fmt

SQL                     标签库的URI:http://java.sun.com/jsp/jstl/sql  常用前缀:sql

XML                    标签库的URI:http://java.sun.com/jsp/jstl/xml 常用前缀:x

Functions            标签库的URI:http://java.sun.com/jsp/jstl/functions  常用前缀:fn

下载与导入
    下载:Apache的网站下载JSTL的JAR包。进入“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”网址下载 JSTL的压缩包。jakarta-taglibs-standard-1.1.2.zip

导入:解压后在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。其中,jstl.jar文件包含JSTL规范中定义的接口和相关类,standard.jar文件包含用于实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD),将两个文件导入项目中。

JSTL核心库的使用
<c:if>标签
          1. 语法格式:

<c:if  test="xxx"   [var="xxx"]   [scope="{page|request|session|application}"]  >

执行体

</c:if>

2. 标签属性讲解:

test属性:用于设置逻辑表达式,当逻辑表达式为true时执行执行体

var属性:用于指定逻辑表达式中变量的名字

scope属性:用于指定var变量的作用范围,默认值是page。

3.用法案例:

<c:forEach>标签  
     两种语法格式:

1.迭代集合对象:

<c:forEach items="xxx"   [var="xxx"]   [varStatus="xxx"]   [begin="xxx"]   [end="xxx"]   [step="xxx"]>
                                             循环体.....
                                </c:forEach>

2.迭代数组:

<c:forEach   begin="xxx"  end="xxx"   [var="xxx"]   [varStatus="xxx"]   [step="xxx"]>
                                              循环体....
                                 </c:forEach>

标签属性讲解:

1.items属性用于指定将要迭代的对象

2.var属性用于指  将当前迭代到的元素保存到page域中的名称(可以通过${xxx}获得对象)

3.varStatus属性用于指定当前迭代状态信息的对象保存到page域中的名称

varStatus属性可以获取以下信息:

count:表示元素在集合中的序号,从1开始

index:表示当前元素在集合中的索引,从0开始

first:表示当前是否为集合中的第一个元素

last:表示当前元素是否为集合中最后一个元素

4.begin属性用于指定从集合中的第几个元素开始迭代,begin的索引值从0开始

5.step属性用于指定迭代的步长,即迭代的增长因子

用法案例:

迭代集合对象:

    

迭代数组元素:

总结
       在前端JSP页面中会经常用到EL表达式,和JSTL标签库,EL表达式使得取出request域和其它域中数据变得极其方便,JSTL免去了<%=    %>的繁琐操作。我介绍的JSTL的两个标签是核心库中最常用的两个,它们两个标签可以解决大多数问题。当然JSTL标签库中的标签远不止这些,有兴趣的小伙伴可以深入了解。

原文地址:https://www.cnblogs.com/karmapeng/p/12243085.html

时间: 2024-11-05 17:31:30

EL表达式与JSTL简单入门的相关文章

Javaweb学习笔记6—EL表达式与JSTL及自定义标签

 前几天博客被黑了,导致博客登陆不上,把前几天应该发的东西的东西重新发一遍 今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多. 一.EL表达式 1,EL简介 Expression Lan

EL表达式和JSTL(二)——EL表达式

在JSP的开发中,为了获取Servlet中存储的数据,通常需要很多的Java代码,这样的做法使的JSP页面非常混乱,为此,JSP2.0中提供了一种EL规范,是一种简单的数据访问语言. 1.初识EL EL表达式是非常简单的,都是以"   ${   "   开始,以“  }  ”结束.具体格式如下: ${ 表达式}  ,表达式必须符合语法. ${表达式}:EL语句在执行,会调用pageContext.findAttribute()方法,以表达式为标识,分别从page,request,ses

常用的EL表达式和JSTL

EL表达式: 打印接受来的参数:${ param.VarName } 验证接受来的参数是否为NULL: ${ empty param.VarName } EL内置的与存储范围有关几个对象类型为java.util.mappageScoperequestScopesessionScopeapplicationScope 与输入有关的隐含对象用来取得用户的请求参数: paramparamValues EL中内置的其它隐含对象: cookieheaderheaderValuesiniParampageC

Web开发中前台与后台技术小结--关于EL表达式,JSTL,eval()函数

在我们日常Web开发中,常常用到EL表达式,JSTL标签,还有可能用到JavaScript中的eval().下面就这样技术和函数小小说明一下. EL(Expression Language),全称表达式语言,既然是开发语言,那么就像Java等语言一样是用来写语句的,通常是用在JSP页面中,我们为了获取JSP提供的内置对象的属性值, 我们通常会使用到EL表达式,比如开发中常见的一个需求就是获取项目的根目录,如果项目的名值变化了,我们在指定路径时,如果把项目的根目录用一个变量来表示的话,那么就不 需

D09 Sping Boot 入门 Sping框架--Java Web之El表达式和JSTL标签

El表达式 1.什么是EL表达式,有什么作用 Ⅰ.EL表达式全称Expression Language.表达式语言. Ⅱ.EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据输出. Ⅲ.EL表达式比jsp表达式脚本简洁. 比较 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>a.j

EL表达式、 jstl标签

EL表达式(Expression Language) 目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化. 1.语法结构 ${expression} 2.[ ]与.运算符 EL 提供"."和"[ ]"两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用"[ ]".例如

Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成service方法中out.write(表达式或变量) <%!java代码%>:被翻译成servlet的全局的内容,方法,全局变量 2.jsp的运行原理 jsp在运行时翻译成servlet index.jsp------>work/index_jsp.java----->work/inde

EL表达式与JSTL(C)标签

一.EL表达式: Expression Language提供了在 JSP 脚本编制元素范围外(例如:脚本标签)使用运行时表达式的功能.脚本编制元素是指页面中能够用于在JSP 文件中嵌入 Java 代码的元素.它们通常用于对象操作以及执行那些影响所生成内容的计算 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []. 例如:${user.My-Name}应当改

JavaWeb基础—EL表达式与JSTL标签库

EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一个小案例: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.jiangbei.domain