javaweb(09) EL表达式&JSTL标签库(jsp相关,了解)
EL表达式
简介和基本使用
- EL 表达式的全称是:Expression Language。是表达式语言。
- EL 表达式的作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。 因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多。
- EL 表达式的格式是:${表达式}
- 要获取对象中,某个属性直接使用**.属性名**的方式
- 当四个域中都有相同的 key 的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。
- EL 表达式在输出 null 值的时候,输出的是空串。jsp 表达式脚本输出 null 值的时候,输出的是 null 字串。
- 域中有特殊值,如stu-x,使用.(点)的方式“-”会被当成减号,应使用"[stu-x]"来替换,应统一使用[],如students[stu][name],不能student[stu].name
<body>
<% request.setAttribute("key","值"); %>
表达式脚本输出 key 的值是: <%=request.getAttribute("key1")==null?"":request.getAttribute("key1")%>
<br/>
EL 表达式输出 key 的值是:${key1}
</body>
EL表达式的11个隐含对象
EL表达式中有11个隐含对象可以直接使用:
四个域对象
- pageContext域中的数据:pageScore(封装了pageContext域中的所有共享数据,以键值对方式)
- request域中的数据:requestScore(封装了request域中所有的共享数据,以键值对方式)
- session域中的数据:sessionScore(封装了session域中所有的共享数据,以键值对方式)
- application域中的数据:applicationScore(封装了application域中所有的共享数据,以键值对方式)
<body>
<%
pageContext.setAttribute("key1", "pageContext1");
pageContext.setAttribute("key2", "pageContext2");
request.setAttribute("key2", "request");
session.setAttribute("key2", "session");
application.setAttribute("key2", "application");
%>
${
applicationScope.key2 }
</body>
与HTTP相关的五个
pageContext
- 用于取出jsp页面的其它隐含对象
${
pageContext.request.scheme}
<%= pageContext.getRequest().getScheme()%>
initParam
- 用于获取xml文件的初始化参数
EL表达式运算
关系运算
逻辑运算
算术运算
注意+号只能用作算术运算,不能用于连接字符串
empty运算
- empty 运算可以判断一个数据是否为空,如果为空,则输出 true,不为空输出 false。
示例:
三元运算
表达式 1?表达式 2:表达式 3
如果表达式 1 的值为真,返回表达式 2 的值,如果表达式 1 的值为假,返回表达式 3 的值。
JSTL标签库
简介
-
JSTL 标签库 全称是指 JSP Standard Tag Library JSP 标准标签库。是一个不断完善的开放源代码的 JSP 标签库。
-
EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个 jsp 页面变得更佳简洁。
使用步骤
core核心库的使用
<c:set/>
作用:set 标签可以往域中保存数据
<c:if/>
if 标签用来做 if 判断。
**<c:choose> <c:when> <c:otherwise>**标签
作用:多路判断。跟 switch … case … default 非常接近
用法:
示例:
<c:forEach />
作用:遍历输出使用。
1. 遍历 1 到 10,输出
2. 遍历 Object 数组
3. 遍历 Map 集合
4. 遍历 List 集合—list 中存放 Student 类,有属性:编号,用户名,密码,年龄, 电话信息
遍历** Map 集合
[外链图片转存中…(img-Svl1H9gu-1597410312272)]
4. 遍历 List 集合—list 中存放 Student 类,有属性:编号,用户名,密码,年龄, 电话信息