EL语法
- EL表达式(Expression Language)
- E L 表 达 式 例 如 : {EL 表达式} 例如: EL表达式例如:{username}
- EL操作
- 操作符“.”
获取对象的属性,例如:${news.title} - 操作符“[]”
获取对象的属性,例如: n e w s [ " t i t l e " ] 获 取 集 合 中 的 对 象 , 例 如 : {news["title"]} 获取集合中的对象,例如: news["title"]获取集合中的对象,例如:{newsList[0]}
EL运算符
- 为了避免JSP混淆运算符和页面关键字,很多运算符都有替代写法:
EL功能
- 取得JavaBean对象的属性
${news.title}相当于news.getTitle(); - 取得数组、List、Map类型对象的元素
${list[0]} - 使用各类运算符对原始数据进行简单处理
${totalRecordCount/pageSize} - 屏蔽一些常见的异常
${username} - 能实现简单的自动类型转换
${news}相当于(News)request.getAttribute(“news”)
EL访问作用域
- 设置数据保存到指定作用域
request.setAttribute(“news”, news); - 两种方式取数据:
使用Java小脚本:request.getAttribute(“news”);
使用EL表达式:${ news } 或者 ${ requestScope.news } - 作用域:
JSTL介绍
- JSTL(JavaServerPages Standard Tag Library)
JSP标准标签库
实现JSP页面中的逻辑控制 - JSTL使用步骤
- 下载jstl.jar和standard.jar包
- 将这两个包复制到WEB-INF\lib目录
- 在JSP页面中添加指令:<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
JSTL标签分类:
- 核心标签库
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %> - 国际化/格式化标签库
<%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt” %>
<c:out/>标签
- 语法:<c:out value=“value” default=“default” escapeXml=“true|false” />
value:需要输出显示的表达式。
default:默认输出显示的值。
escapeXml:是否对输出的内容进行转义。
设置变量和对象属性
- 设置变量
- 语法:<c:set var=“name” value= “value” scope=“scope” />
var:表示变量名称。
value:表示变量的值。
scope:存在的作用域。
- 设置对象属性
- 语法:<c:set value= “value” target=“target” property=“propertyName” />
value:表示属性的值。
target:表示对象。
property:表示对象的属性名称。
<c:forEach/>标签
- <c:forEach/>迭代标签
- 实现对集合的遍历
- 语法:
<c:forEach var=“varName” items=“items” varStatus=“varStatus”>
……
</c:forEach>
var:集合中元素的名称。
items:集合对象。
varStatus:当前循环的状态信息,例如循环的索引号。
<c:if/>标签
- <c:if/>条件标签
- 实现条件的判断
- 语法:
<c:if test=“boolean” var=“varName” scope=“scope”>
……
</c:if>
test:条件(必须的,无默认值)。
var:用于存储条件结果的变量(非必须的,无默认值)。
scope:var属性的作用域(非必须的,默认恩智page)。
<c:choose>, <c:when>, <c:otherwise> 标签
- <c:choose>标签与Java switch语句的功能一样,用于在众多选项中做出选择。switch语句中有case,而<c:choose>标签中对应有<c:when>,switch语句中有default,而<c:choose>标签中有<c:otherwise>。
- 语法:
<c:choose>
<c:when test="">
…
</c:when>
<c:when test="">
…
</c:when>
…
…
<c:otherwise>
…
</c:otherwise>
</c:choose> - 更多标签学习:https://www.runoob.com/jsp/jsp-jstl.html