JSTL和EL表达式
EL表达式
EL表达式:Expression Language(表达式语言)
作用:配合JSTL标签库使用,替代JSP页面中复杂的代码,简化JSP的输出
书写格式:${表达式} 例:${student.name}或者${student["name"]}
ps:使用"[]"的时候属性需要加上双引号,一般情况下”."和”[]"都可以使用
但如果属性名含有特殊字符则只能用"[]" 例:${employee["e_no"]
常用作用域对象
作用域对象 | 描述 |
---|---|
pageScope | 从当前页面取值 |
requestScope | 从当前请求中获取属性值 |
sessionScope | 从当前会话中获取属性值 |
applicationScope | 从当前应用中获取全局属性 |
ps:忽略写作用域对象时,会按照作用域从小到大依次尝试获取,若未获取到,则输出空字符串。
JSTL
JSTL:JSP Standard Tag Library(JSP标准标签库)
作用:简化JSP页面,提高代码的可读性和可维护性
JSTL环境搭建
jar包下载地址:https://tomcat.apache.org/download-taglibs.cgi
下载文件:taglibs-standard-spec-1.2.5.jar (标准库定义包)
taglibs-standard-spec-1.2.5.jar (标准库实现包)
导入:将下载的jar包导入工程的WEB-INF/lib目录下 然后add as library
JSTL标签库
类别 | 导入标签库 |
---|---|
核心标签库-core | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> |
格式化输出标签库-fmt | <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> |
SQL操作标签库-sql | <%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> |
XML操作标签库-xml | <%@taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="xml"%> |
函数标签库-functions | <%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> |
核心标签的使用
①out标签
<c:out value=" " default=" " escapeXml=" ">
可在value属性中直接赋值,default属性设置默认值,escapeXml属性控制转义字符的输出方式
②if标签
<c:if test=" " var=" ">
test用于存放判断条件
③choose、when、otherwise标签
该标签等同于if、else if、else
④forEach标签
<c:forEach items=" " var=" " varStatus=" ">
forEach标签用于遍历集合,items属性指定遍历的集合(数据源),var属性设置迭代变量,varStatus表示状态变量
格式化标签
①formatDate标签
<fmt:formateDate value=" " pattern=" ">
formatDate用于格式化日期 value属性存放的是源数据 pattern属性指定转换格式
②formatNumber标签
<c:formatNumber value=" " pattern=" ">
formatNumber用于格式化数字 value属性存放的是源数据 pattern属性指定转换格式 例<c:formatNumber value="${employee.salary}" pattern="0,000.00">