EL表明式的粗略实用

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

  图片 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:迭代参数的名目。在迭代体中能够利用的变量的名号,用来代表每3个迭代变量。类型为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]}获取值

  二.利用jstl的<forEach>标签取值

 <c:forEach items="${list}" var="item">
        <c:out value="${item}"></c:out> 
    </c:forEach>

四、获得web开发常用对象


 

  EL表明式语言中定义了13个包罗对象,使用那些包罗对象足以很有益地获得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 的相关包拷贝至你的<汤姆cat
安装目录>\lib下:

标签 描述
<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包蕴1层层正式函数,超过13分之伍是通用的字符串处理函数。引用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() 移除首位的空白符