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">