博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EL表达式的简单实用
阅读量:5143 次
发布时间:2019-06-13

本文共 3749 字,大约阅读时间需要 12 分钟。

EL表达式


 

EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。

C标签


首先需要引入标签库和jar包

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

1.基本语法${标识符}

2.基本运算符:

 1、关系运算符

  

  2、逻辑运算符:

  

  3、empty运算符:检查对象是否为null(空)

  4、二元表达式:${user!=null?“yes” :"no"}

3.常用标签:

标签 描述
用于在JSP中显示数据,就像<%= ... >
用于保存数据
用于删除数据
用来处理产生错误的异常状况,并且将错误信息储存起来
与我们在一般程序中用的if一样
本身只当做<c:when>和<c:otherwise>的父标签
<c:choose>的子标签,用来判断条件是否成立
<c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
检索一个绝对或相对 URL,然后将其内容暴露给页面
基础迭代标签,接受多种集合类型
根据指定的分隔符来分隔内容并迭代输出
用来给包含或重定向的页面传递参数
重定向至一个新的URL.
使用可选的查询参数来创造一个URL

 

 

 举例常用:


 

一.条件运算符

   ${user.gender==1?'男':'女'}

二.if()

<c:if test="${2>1}">code..</c:if>

code会在test属性为true时执行

三.if()-else{}

 <c:choose>

  <c:when test="${2>1}">code..</c:when>

  <c:otherwise>code..</c:otherwise>

</c:choose>

四.if()-else if()-else{}

<c:choose>

  <c:when test="${2>1}">code..</c:when>

  <c:when test="${2>3}">code..</c:when>

  <c:otherwise>code..</c:otherwise>

</c:choose>

五.<c:forEach>标签具有以下一些属性:

  • l          var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。 

    l          items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。 

    l          varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。 

    l          begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。

    l          end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。

    l          step:迭代的步长。 
  • 支持Java中的Map、List、Set、Iterator(迭代器)、Enumeration(枚举类型)、数组、用逗号定界的String(分割后的子字符串)、Result(SQL查询所获得的行)

 

key:
value:

 

  对List的取值

  1.使用${list1[1]}获取值

  2.使用jstl的<forEach>标签取值

4、获得web开发常用对象


 

  EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。

  语法:${隐式对象名称}:获得对象的引用

序号 隐含对象名称 描       述
1 pageContext 对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)
2 pageScope 代表page域中用于保存属性的Map对象
3 requestScope 代表request域中用于保存属性的Map对象
4 sessionScope 代表session域中用于保存属性的Map对象
5 applicationScope 代表application域中用于保存属性的Map对象
6 param 表示一个保存了所有请求参数的Map对象
7 paramValues 表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]
8 header 表示一个保存了所有http请求头字段的Map对象,注意:如果头里面有“-” ,例Accept-Encoding,则要header[“Accept-Encoding”]
9 headerValues 表示一个保存了所有http请求头字段的Map对象,它对于某个请求参数,返回的是一个string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
10 cookie 表示一个保存了所有cookie的Map对象
11 initParam 表示一个保存了所有web应用初始化参数的map对象

 

 

 

 

 

 

 

 

 

 

格式化标签


 

JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:

<%@ taglib prefix="fmt"            uri="http://java.sun.com/jsp/jstl/fmt" %>
标签 描述
使用指定的格式或精度格式化数字
解析一个代表着数字,货币或百分比的字符串
使用指定的风格或模式格式化日期和时间
解析一个代表着日期或时间的字符串
绑定资源
指定地区
绑定资源
指定时区
指定时区
显示资源配置文件信息
设置request的字符编码

SQL标签


 

JSTL SQL标签库提供了与关系型数据库(Oracle,MySQL,SQL Server等等)进行交互的标签。引用SQL标签库的语法如下:

<%@ taglib prefix="sql"            uri="http://java.sun.com/jsp/jstl/sql" %>
标签 描述
指定数据源
运行SQL查询语句
运行SQL更新语句
将SQL语句中的参数设为指定值
将SQL语句中的日期参数设为指定的java.util.Date 对象值
在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行

XML 标签


 

JSTL XML标签库提供了创建和操作XML文档的标签。引用XML标签库的语法如下:

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

在使用xml标签前,你必须将XML 和 XPath 的相关包拷贝至你的<Tomcat 安装目录>\lib下:

  • XercesImpl.jar

    下载地址: 

  • xalan.jar

    下载地址: 

标签 描述
与<%= ... >,类似,不过只用于XPath表达式
解析 XML 数据
设置XPath表达式
判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体
迭代XML文档中的节点
<x:when>和<x:otherwise>的父标签
<x:choose>的子标签,用来进行条件判断
<x:choose>的子标签,当<x:when>判断为false时被执行
将XSL转换应用在XML文档中
与<x:transform>共同使用,用于设置XSL样式表

JSTL函数


 

JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:

<%@ taglib prefix="fn"            uri="http://java.sun.com/jsp/jstl/functions" %>
函数 描述
测试输入的字符串是否包含指定的子串
测试输入的字符串是否包含指定的子串,大小写不敏感
测试输入的字符串是否以指定的后缀结尾
跳过可以作为XML标记的字符
返回指定字符串在输入字符串中出现的位置
将数组中的元素合成一个字符串然后输出
返回字符串长度
将输入字符串中指定的位置替换为指定的字符串然后返回
将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回
测试输入字符串是否以指定的前缀开始
返回字符串的子集
返回字符串在指定子串之后的子集
返回字符串在指定子串之前的子集
将字符串中的字符转为小写
将字符串中的字符转为大写
移除首位的空白符

转载于:https://www.cnblogs.com/zhouguanglin/p/8117406.html

你可能感兴趣的文章
如何自绘树形控件(QQ好友列表)
查看>>
web异步开发——ajax
查看>>
通过修改VHD文件的位置来提升性能
查看>>
将WPF版的弹幕播放器给优化了一下
查看>>
Qt5 动态库的创建与使用
查看>>
面向对象设计
查看>>
Sqoop迁移Hadoop与RDBMS间的数据
查看>>
[label][JavaScript]读nowmagic - js词法作用域、调用对象与闭包
查看>>
模板模式
查看>>
PAT 1014 福尔摩斯的约会
查看>>
ssh2整合中的一些问题
查看>>
hibernate Expression详解
查看>>
LeetCode #303. Range Sum Query
查看>>
oracle 自增序列实现 可作为主键
查看>>
STM32----stlink口
查看>>
Android viewpager切换到最后一页时,跳转至其他activity
查看>>
开启GD拓展
查看>>
JQUERY 大于
查看>>
ZooKeeper做独立server执行(上)
查看>>
《经济地理与企业兴衰》学习笔记
查看>>