ECMAScriptEL表达式的简短实用

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、逻辑运算符:

  ECMAScript 1

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

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

3.时不时因此竹签:

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

 

<c:forEach items="${map}" var="item">

    key:<c:out value="${item.key}" /> 

    value:<c:out value="${item.value}" />

</c:forEach>

 

  对List的取值

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

  2.以jstl的<forEach>标签取值

 <c:forEach items="${list}" var="item">
        <c:out value="${item}"></c:out> 
    </c: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" %>
标签 描述
<fmt:formatNumber> 使用指定的格式或精度格式化数字
<fmt:parseNumber> 解析一个代表着数字,货币或百分比的字符串
<fmt:formatDate> 使用指定的风格或模式格式化日期和时间
<fmt:parseDate> 解析一个代表着日期或时间的字符串
<fmt:bundle> 绑定资源
<fmt:setLocale> 指定地区
<fmt:setBundle> 绑定资源
<fmt:timeZone> 指定时区
<fmt:setTimeZone> 指定时区
<fmt:message> 显示资源配置文件信息
<fmt:requestEncoding> 设置request的字符编码

SQL标签


 

JSTL SQL标签库提供了同涉及项目数据库(Oracle,MySQL,SQL
Server等等)进行互动的签。引用SQL标签库的语法如下:

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

XML 标签


 

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

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

在以xml标签前,你要将XML 和 XPath 的连带保险拷贝至而的<Tomcat
安装目录>\lib下:

  • XercesImpl.jar

    下载地址: http://www.apache.org/dist/xerces/j/

  • xalan.jar

    下载地址: http://xml.apache.org/xalan-j/index.html

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

JSTL函数


 

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

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