EL表达式语言

EL表达式语言

EL的语法

基于ECMScript和XPath表达式语言,一种极其简单的语言称之为表达式语言Expression language。

#EL的语法
${ EL部分 }

#EL中包括.和[] 两种运算符

#例1
${ sessionScope.user.salary + 100 }
${ sessionScope["user"]["salary"] + 100 }


EL隐含对象

  1. 与范围相关的对象

    1. pageScope:页面范围对象
    2. requesetScope:请求范围对象
    3. sessionScope:会话范围对象
    4. applicationScope:应用范围对象
    
  2. 上下文对象

    pageContext:上下文对象
    
  3. 获取表单数据

    1. param:获取表单信息第一个值
    2. paramValues
    
  4. 获取请求头信息对象

    1. header: 获取请求头信息第一个值
    2. headerValues
    
  5. 获取Context级初始化参数

    initParam:获取初始化参数对象
    
  6. 获取Cookie对象

    cookie:获取Cookie信息
    

与范围相关的对象

这4个隐含对象只能用来取得范围属性值,不能取得其他相关信息

#java脚本
pageContext.getAttribute("name1", "value1")

#El中
${pageScope.name1}
${pageScope["name1"]}

EL运算符

  1. 算术型
  2. 逻辑型
  3. 关系型
  4. 条件型

算术型

+ - * / % div mod -(二元)

empty判断值是否为空

条件型

A?B:C根据A赋值的结果来赋值B或C

#例1
<input type="text" name="firstnum" value="${param.firstnum}"> +
<input type="text" name="secondnum" value="${param.secondnum}"> =
<input type="text" name="result" value="${(empty param.firstnum)?"":(param.firstnum+param.secondnum)}"> 

EL函数

JSTL标记库

jsp标准标记库(java EE 5.0)

共5类标记库

  1. 核心标记库:核心-条件、迭代器、URL动作
  2. 国家化和格式标记库
  3. XML标记库
  4. SQL标记库
  5. 函数标记库:用于操作字符串和集合的函数

核心标记库

1. 表达式操作
<c:out>
<c:set>: 设置jsp作用域属性的值
<c:remove>
<c:catch>:捕获并处理jsp中的异常

2. 流程操作
<c:if>
<c:choose>
<c:when>
<c:otherwise>

3. 迭代操作
<c:forEach>
<c:forTokens>

4. URL操作
<c:url>:重写URL
<c:import>:导入指定的资源文件
<c:redirect>:重定向到其他页面
<c:param>:动态设定参数

核心标记库的导入

<%@ taglib prefix="c" url="http://java.sun.com/jsp/jstl/core" %>
# prefix的属性值是标记库的别名

国际化和格式化标记库的导入

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

SQL标记库

<sql:setDataSource>:用于设置数据源
<sql:query>:用于查询
<sql:update>:更新数据库
<sql:transaction>:事务处理
<sql:param>:向sql语句提供参数
<sql:dateParam>:向sql语句提供参数

sql标记库的导入

<%@ taglib prefix="sql" uri="http://java.sum.com/jsp/jstl/sql" %>
#uri的值是指定的
#prefix是标记库别名

XML标记库

xml核心库
<x: parse>: 解析指定的xml文佳
<x: out> 
<x: set>: 将xml文件中元素的实体内容或属性,保存到一个变量中

xml流程控制操作
<x: if>:用于多分支条件判断
<x: choose>
<x: when>
<x: otherwise>

xml转换操作
<x: transform>: 对xml文档通过XSLT样式表进行转换
<x: param>

XML标记库的导入

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

函数标记库

fn: contains:判断当前字符串是否包含某个字符串
fn: containsIgnoreCase:判断当前字符串是否包含某个字符串,忽略大小写
fn: toLowerCase
fn: toUpperCase
fn: endsWith:判断当前字符串是否以某个字符串结尾
fn: startsWith
fn: substring:从当前字符串中截取子串
fn: substringBefore
fn: substringAfter
fn: trim:去掉字符串前后的空格
fn: split:将字符串按照指定的分割符分割成一组字符串
fn: join
fn: indexOf
<fn: replace>:将字符串的指定字符转换为其他字符
<fn: length>:回传一个字符串或一个集合对象的数量
<fn: escapeXml>:将具有特殊含义的字符转换为对应的Entity码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值