EL表达式与JSTL

目录

一.EL概述

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

三.EL从四个域中获得某个值

四.JSTL介绍

五.JSTL的使用及分类

可以分为4大类和JSTL函数

六.五类标签的简介

6.1.核心标签:

 6.2.格式化标签:

 6.3.SQL标签:

 6.4.XML标签:

 6.5.JSTL函数:

 七.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(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

五.JSTL的使用及分类

要使用JSTL,首先要先下载好jar包,点击这里进行下载,下载好后,导入项目的WEN-INF的lib目录下即可,当然,要在jsp中使用JSTL,还得使用@taglib标签,不过不同的分类情况不一样,下面我们来看看JSTL标签的分类。

可以分为4大类和JSTL函数

核心标签
格式化标签
SQL标签
XML标签
JSTL函数

————————————————

六.五类标签的简介

6.1.核心标签:

在JSP文件开头使用如下语法

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

 6.2.格式化标签:

在JSP文件开头使用如下语法

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

 6.3.SQL标签:

在JSP文件开头使用如下语法

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

 6.4.XML标签:

在JSP文件开头使用如下语法

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

 6.5.JSTL函数:

在JSP文件开头使用如下语法

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

 七.JSTL核心标签

核心标签库共有14个标签,从功能上分为4类

表达式控制标签:out,set,remove,catch
流程控制标签:if,choose,when,otherwise
循环标签:forEach,forTokens
URL操作标签:import,url,redirect,param

以下我就挑选几个我所学过常用的核心标签来给大家举例
————————————————

7.1. out标签的用法

用于在JSP中显示数据,就像<%= … >

<!-- 通过set标签存值到scope中,其中var是变量的名称,value是变量的值,scope表示把变量存在哪个scope中 --> 
<c:set var="person1" value="CodeTiger" scope="page"></c:set> 
<c:out value="${person1}"></c:out><br> 
<!-- 也可以把value的值放在两个标签之间 --> 
<c:set var="person2" scope="session">liu</c:set> 
<c:out value="${person2}"></c:out><br>

<!-- 通过set标签为JavaBean里的属性赋值 ,首先创建一个JavaBean-->
<c:set target="${people}" property="username" value="CodeTiger"></c:set> 
<c:set target="${people}" property="address" value="NJUPT"></c:set> 
<c:out value="${people.username}"></c:out>&nbsp;&nbsp; 
<c:out value="${people.address}"></c:out><br>

7.2.set标签的用法

用于保存数据

<!-- 通过set标签存值到scope中,其中var是变量的名称,value是变量的值,scope表示把变量存在哪个scope中 --> 
<c:set var="person1" value="CodeTiger" scope="page"></c:set> 
<c:out value="${person1}"></c:out><br> 
<!-- 也可以把value的值放在两个标签之间 --> 
<c:set var="person2" scope="session">liu</c:set> 
<c:out value="${person2}"></c:out><br>

<!-- 通过set标签为JavaBean里的属性赋值 ,首先创建一个JavaBean-->
<c:set target="${people}" property="username" value="CodeTiger"></c:set> 
<c:set target="${people}" property="address" value="NJUPT"></c:set> 
<c:out value="${people.username}"></c:out>&nbsp;&nbsp; 
<c:out value="${people.address}"></c:out><br>

7.3.remove标签的用法

用于删除数据

<!-- remove标签的用法 --> 
<c:set var="firstName" value="xiaop"></c:set> 
<c:out value="${firstName}"></c:out> 
<c:set var="lastName" value="liu"></c:set> 
<!-- 只能remove某个变量,不能remove掉JavaBean里的属性值 --> 
<c:remove var="lastName"/> 
<c:out value="${lastName}"></c:out><br>

7.4.catch标签的用法

用来处理产生错误的异常状况,并且将错误信息储存起来

<!-- catch标签的用法 --> 
<c:catch var="error"> 
    <!-- 随便使用一个没有定义的JavaBean-->
    <c:set target="${Code}" property="Tiger">CodeTiger</c:set> 
</c:catch> 
<c:out value="${error}"></c:out><br>

7.5.if标签的用法

与我们在一般程序中用的if一样

<!-- if标签的用法 --> 
<form action="index.jsp" method = "post"> 
    <!-- param为EL的隐式对象,获取用户输入的值 --> 
    <input type = "text" name = "score" value = "${param.score}"> 
    <input type = "submit" value = "提交"> 
</form> 
<!-- var中的变量为boolean类型,取决于test中的表达式 --> 
<c:if test="${param.score >= 90}" var="grade" scope="session"> 
    <c:out value="恭喜,成绩优秀"></c:out> 
</c:if> 
<c:if test="${param.score >= 80 && param.score < 90}"> 
    <c:out value="恭喜,成绩良好"></c:out> 
</c:if> 
<c:out value="${sessionScope.grade}"></c:out>

7.6.forEach标签的用法

基础迭代标签,接受多种集合类型

<!-- forEach标签的用法 --> 
<% 
    List<String> names = new ArrayList<String>(); 
    names.add("liu"); 
    names.add("xu"); 
    names.add("Code"); 
    names.add("Tiger"); 
    request.setAttribute("names", names); 
%> 
<!-- 获取全部值 --> 
<c:forEach var="name" items = "${requestScope.names}"> 
    <c:out value="${name}"></c:out><br> 
</c:forEach> 
<c:out value="========================"></c:out><br> 
<!-- 获取部分值 --> 
<c:forEach var="name" items = "${requestScope.names}" begin="1" end="3"> 
    <c:out value="${name}"></c:out><br> 
</c:forEach> 
<c:out value="========================"></c:out><br> 
<!-- 获取部分值 并指定步长--> 
<c:forEach var="name" items = "${requestScope.names}" begin="1" end="3" step = "2"> 
    <c:out value="${name}"></c:out><br> 
</c:forEach> 
<c:out value="========================"></c:out><br> 
<!-- 获取部分值 并指定varStatus--> 
<c:forEach var="name" items = "${requestScope.names}" begin="0" end="3" varStatus="n"> 
    <c:out value="${name}"></c:out><br> 
    <c:out value="index:${n.index}"></c:out><br> 
    <c:out value="count:${n.count}"></c:out><br> 
    <c:out value="first:${n.first}"></c:out><br> 
    <c:out value="last:${n.last}"></c:out><br> 
    <c:out value="-----------------"></c:out><br> 
</c:forEach> 
<c:out value="========================"></c:out><br>

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在 JavaWeb 中,使用 EL 表达式和 JSTL 可以实现在 JSP 页面中进行动态数据处理和展示。下面我来分别介绍这两种技术的实现方法。 1. EL 表达式的实现 EL 表达式是一种用于在 JSP 页面中访问 JavaBean 中属性的语言。在 JSP 页面中,我们可以通过 ${} 语法来使用 EL 表达式。例如,我们可以通过 ${user.name} 来获取 JavaBean 中的 name 属性的值。 要在 JavaWeb 中使用 EL 表达式,我们需要完成以下步骤: 1) 在 JSP 页面中引入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>,指定页面编码为 UTF-8。 2) 在 JSP 页面中引入 JSTL 标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>。 3) 在 JavaBean 中定义属性,并提供 getter 和 setter 方法。 4) 在 JSP 页面中使用 EL 表达式来访问 JavaBean 的属性值。例如:${user.name}。 2. JSTL 的实现 JSTL 是一组 JSP 自定义标签,用于在 JSP 页面中进行动态数据处理和展示。JSTL 提供了一些常用的标签库,例如 core、fmt、sql、xml 和 functions 等。 要在 JavaWeb 中使用 JSTL,我们需要完成以下步骤: 1) 在 JSP 页面中引入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>,指定页面编码为 UTF-8。 2) 在 JSP 页面中引入 JSTL 标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>。 3) 在 JSP 页面中使用 JSTL 标签库提供的标签来进行动态数据处理和展示。例如,使用 <c:forEach> 标签来遍历一个集合: ``` <c:forEach var="item" items="${list}"> ${item} </c:forEach> ``` 这样就可以在 JSP 页面中使用 EL 表达式和 JSTL 来进行动态数据处理和展示了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值