JSTL(JSP标签库)
-
JSP的标准标签库。JSP的标签和HTML的标签类似,
<c:set></c:set>
,JSP的每个标签背后都有一个强大的类支持。 -
作用:用于简化和替换jsp页面的java代码。
-
使用步骤:
(1)导入jstl相关jar包
(2)引入标签库<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
(3)使用标签 -
核心jstl标签的使用
(1)out标签,用于向页面输出内容。
(2)set标签,用于在jsp页面上向某个作用域对象设置属性。类似于request.setAttribute("");
(3)remove标签,用于将某个作用域中的属性移除
<c:remove var=“age” scope=“session”></c:remove>(4)if标签,相当于java代码的if语句。在JSTL中使用if标签,没有else标签。我们可以使用choose标签来实现if-else功能。<c:if test=""><c:if/>
test指定判断条件,结果为boolean值
(5)choose:相当于java代码的switch语句①使用choose标签声明 相当于switch声明 ②使用when标签做判断 相当于case ③使用otherwise标签做其他情况的声明 相当于default
(6)foreach标签,该标签主要用于在页面中循环遍历集合内容。
EL表达式
- EL表达式主要用于计算并向页面输出内容,它是用来替换表达式<%=%>。
- EL表达式的语法:${}
- 注意:jsp默认支持el表达式。如果要忽略el表达式,有两种方式:
1.设置jsp中page指令中:isELIgnored=“true” 忽略当前页面的el表达式
2.${表达式} 忽略当前的el表达式
- EL表达式只能从域对象中获取值
语法:
(1)${域名称.键名}:从指定域中获取指定键的值
域名称:
- pageScope --> pageContext
- requestScope --> request
- sessionScope --> session
- applicationScope --> application(ServletContext)
例如:在request域中存储了name=张三
获取:${requestScope.name}
(2) ${键名}
搜索顺序(从最小的域开始查找):
pageContext(默认)---->request---->session---->application
(3)EL表达式获取实体属性的值。
EL表达式获取实体属性的值是使用get方法获取的,与属性没有关系
name===>Name====>getName====>调用getName()方法