JavaEE之EL表达式

语法:${表达式}

EL表达式输出数据

  • 将表达式的结果输出在EL表达式的位置
  • ${"hello,world" }
        2+3=${ 2+3 }
        2>3:${2>3 }
  • ${empty user} 判断对象是否为空

EL表达式输出变量

  • ${user}
  • 变量的搜索范围及顺序
    • EL表达式会按照页面域、请求域、会话域、应用域的顺序来一次查找,查找到则停止查找,使用该变量,如果都找不到,则返回空字符串“”

EL的.操作符和[]操作符

  • ${sessionScope.user.name}表示获取session域中的user对象的name属性值
  • ${sessionScope.user["name"]} 功能同上,需要注意的是 name要加双引号
  • []操作符的功能
    • 获取数组元素 ${arr[0]}
    • 获取map中的key的value ${map["key"]}
    • 属性中有非法字符的 ${header["user-agent"]}

EL表达式的内置对象

  • pageScope 页面域
  • requestScope 请求域
  • sessionScope 会话域
  • applicationScope 应用域
  • param 请求参数
  • paramValues 请求参数 类似于checkbox一组值,以String[]返回

JSTL标准标签库

  • 支持EL表达式,提供给开发者的一套标签库,用来替代JSP中的java代码
  • 分类
    • 核心标签库 前缀一般设为c
    • <%@taglib uri="标签库的uri" prefix="标签库的前缀"  %>
    • <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    • 核心标签库常用的标签
      • 通用标签
        • 表示输出,同<%=表达式 %>
        • value是要显示的值,如果value为null或空,则显示default的值
        • 在某个作用域中添加属性及属性值
          •  其中scope取值 page request session application
        • 从某个作用域中删除属性
          • 作用域取值同c:set标签
        • 捕获异常
      • 条件标签
      • 根据test属性是否为true来确定是否执行开始标签和结束标签之间的html代码

        •         欢迎您,${sessionScope.user }
              
        • 还可以使用var和scope属性,将test判断的结果保存至名为var所指定为变量命中,并存入scope所指定的作用域中
      • 以上三个标签组合使用,形成类似于java中的if-else语句

        •      
                     //html代码
               

               
                     //html代码
               

               
                   //html代码
               

        • 其中可以有多个,可以有一个或没有
    • 循环标签
      • 循环遍历标签
        • 常用的属性
          • items 指定要遍历的集合
          • var 遍历过程中集合元素临时赋值的变量名
          • varStatus 每次遍历过程中的遍历状态
            • index 本次遍历的索引
            • count 本次遍历是第几次
            • first 是否是第一个元素,返回值为boolean
            • last 是否是最后一个元素,返回值为boolean
          • begin end step 分别可以指定遍历的起始值(第一个索引为0),结束值(到第几个停止),步长
        • 可以对字符串分割并遍历(只能对分隔符是逗号的字符串进行分割并遍历)
      • 按照指定的分隔符对字符串进行分割并遍历
        • 属性
          • items 指定要分割和迭代的字符串
          • delims 指定分割符
          • var 遍历过程中,遍历元素的变量名
          • varStatus 遍历的状态
            • index 本次遍历的索引
            • count 本次遍历是第几次
            • first 是否是第一个元素,返回值为boolean
            • last 是否是最后一个元素,返回值为boolean
          • begin end step 分别可以指定遍历的起始值(第一个索引为0),结束值(到第几个停止),步长
    • URL相关标签
      • 的属性
        • value 指定url的请求路径,可以拼接参数
        • var value值所对应的变量名
      • 的属性
        • url 指定要重定向到的url路径
  • I18N国际化标签
    • <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    • 格式化日期
    • 格式化日期和时间
      • value 指定要格式化的Date对象
      • pattern 指定要格式化成的日期和时间的格式

 

 

 

你可能感兴趣的:(JavaEE)