JSTL&EL

JSTL

<1> 实现了JSP页面代码的复用
<2> 使得可读性更强

导入

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

核心标签

表达式控制标签

out
  • 输出常量

    可在value属性中直接赋值
  • 输出变量

    变量不存在时可配合default属性输出默认值
    set
  • 存值到Scope中

  • 存值到JavaBean中

    remove
  • var属性必选
  • scope属性可选
  • 不能移除JavaBean中的属性

    catch
  • 包含哪些容易出错的标签

流程控制标签

if
choose when otherwise

循环控制标签

forEach
  • var设置变量名用于存储从集合中取出来的元素
  • items指定要遍历的集合
  • begin、end用于指定遍历的起始位置和终止位置
  • varStatus通过index、count、first、last几个状态值,描述begin和end子集中元素的状态
  • step默认一个一个遍历 =2 隔一个遍历一个

    forTokens
    用于浏览字符串,并根据指定的字符将字符串截取
  • items指定被迭代的zifuchaun
  • delims指定使用的分隔符
  • var指定用来存放遍历到的成员

URL操作标签

import
  • 可以把静态的或动态的文件包含到本JSP页面
  1. url被导入资源的URL路径
  2. context 相同服务器下其他的web工程,必须以"/"开头
  3. var以String类型存入被包含文件的内容
  4. Scope var变量的JSP范围
  5. charEncoding被导入文件的编码格式
  6. varReader 以Reader类型存储bei被包含文件的内容

    redirect
  • url 指定重定向页面的地址
  • context 用于导入其他的web应用中的页面

    url
    动态生成一个String类型的URL
  • value表示url绝对路径
  • var 表示这个url
  • scope 这个url的访问域

JSTL函数

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

EL Expression Language

格式

${表达式}

"." [] 运算符

${user.sex} ${user["sex"]}
<1> 包含特殊字符只能用[]
<2> [] 动态取值

变量

JSP内置对象EL名称
PagePageScope
RequestRequestScope
SessionSessionScope
ApplicationApplicationScope

EL自动类型转换

自动识别类型,自动转换

EL运算符

验证运算符 empty 空 返回true

EL表达式里实现if else

三元表达式实现 a>b? a:b;