EL表达式&JSTL标签
JSP中的Java代码
EL表达式
- 概念:Expression Language 表达式语言
- 作用:替换和简化JSP代码中的Java代码的编写
- 语法:${ 表达式 }
- 注意:JSP是默认支持EL表达式
- 忽略EL表达式
- 设置JSP中page指令中:
isELIgnored="true"
忽略当前JSP页面中所有EL表达式 \${ 表达式 }
:忽略当前这个EL表达式
- 设置JSP中page指令中:
- 忽略EL表达式
- 使用方面:
- 用于运算
- 算数运算符:
+,-,* , / (div),% (mod)
- 比较运算符:
> < >= <= == !=
- 逻辑运算符:
&&(and) ||(or) !(not)
- 空运算符:
empty
- 功能:用于判断字符串、集合、数组对象是否为null 或者 长度是否为0
${ empty list }
- 算数运算符:
- 获取值
- EL表达式只能从域对象中获取值
- 语法:
${ 域名称.键名 }
-> 从指定域中获取指定建的值- pagetScope --> pageContext
- requestScope --> request
- sessionScope --> session
- applicationScope --> application(ServletContext)
${ 键名 }
-> 依次从最小的域中查找是否有该键对应的值
- 获取对象,List集合,Map集合
- 对象属性值:
${ 域名称.键名称.属性名 }
- List集合:
${ 域名称.键名称[ 索引 ] }
- Map集合:
${ 域名称.键名.key名称 }
- 对象属性值:
- 隐式对象:EL表达式有11个隐式对象
pageContext
:获取JSP其他8个内置对象- 动态获取虚拟目录:
${ pageConext.request.contextPath }
- 动态获取虚拟目录:
- 用于运算
JSTL标签
- 概念:Java Server Pages Library - JSP标准标签库
- 由Apache组织提供的开源的免费JSP标签
- 作用:用于简化和替换JSP页面上的Java代码
- 使用步骤:
- 导入JSTL相关jar包
- 引入标签库:taglib指令 -
<%@ taglib %>
- 使用标签
- 常用的JSTL标签
- if:相当于Java的if
- test属性:接收boolean表达式,如果表达式为true则显示标签体内容
- choose:相当于Java的switch
- when标签相当于 case
- otherwise标签相当于default
- foreach:相对于java的for
- if:相当于Java的if