[TOC]
# EL
## 問題01:表達式運算
```
${X}
${X+Y}
${X.y}
${X[1]}
${empty X }
```
## 問題02:顯示隱式對象(上下文路徑、請求參數)
```
${pageContext.request.contextPath}
```
```
${param.paramName}
```
## 問題03:顯示作用域屬性
```
${pageScope.X}
${requestScope.X}
${sessionScope.X}
${applicationScope.X}
```
## 問題04:顯示cookie
```
${cookie.X.value}
```
# JSTL
## 問題05:如何使用?
```
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
```
### 不同版本的jar包


## 問題06:條件語句(顯示用戶名or登錄?)
```
<c:if test="${empty list }">
<h2>還沒有任何登記信息!</h2>
</c:if>
```
## 問題07:分支語句
```
<c:set var="score">85 </c:set>
<c:choose>
<c:when test="${score>=90}">優秀!</c:when>
<c:when test="${score>=70&&score<90}">良!</c:when>
<c:when test="${score>60&&score<70}">及格!</c:when>
<c:otherwise>對不起,您沒有通過考試!</c:otherwise>
</c:choose>
```
## 問題08:循環語句
```
語法1:集合成員迭代
<c:forEach items ="data" [var ="name"] [varStatus ="statusName"]>
標簽體
</c:forEach>
```
## 問題09:格式化
* [ ] 格式化數字
```
<fmt:formatNumber
value ="<string>"
type ="<string>"
pattern ="<string>"
currencyCode="<string>"
currencySymbol="<string>"
groupingUsed="<string>"
maxIntegerDigits="<string>"
minIntegerDigits="<string>"
maxFractionDigits="<string>"
minFractionDigits="<string>"
var="<string>"
scope="<string>"
/>
```
* [ ] 格式化日期
```
<fmt:formatDate pattern="yyyy-MM-dd"
value="${now}" />
```
注意:日期格式化的時候**年份和日期**是**小寫**,**月份**是**大寫**。
* [ ] 更多
[https://www.runoob.com/jsp/jsp-jstl.html](https://www.runoob.com/jsp/jsp-jstl.html)
## 問題10:自定義標簽庫
1. 將自定義庫放在WEB-INF中
2. 在JSP頁面引入自定義庫
3. 使用
```
${cus:decoder("String","UTF-8")}
```
- 1課程概述
- 2環境配置
- 3MVC
- 3.1View
- 3.1.1前端基礎
- 3.1.2JSP語法
- 3.1.3JSP內置對象1
- 3.1.4JSP內置對象2
- 3.2Bean
- 3.3Controller
- 3.3.1Servlet
- 3.3.2Filter
- 3.3.3Listener
- 3.4EL&JSTL
- 4三層架構
- 4.1數據庫操作
- 4.1.1JDBC
- 4.1.2JDBC優化
- 4.2三層架構設計
- 4.3程序優化
- 4.3.1數據庫連接優化
- 4.3.2數據庫操作優化
- 4.4安全專題
- 4.4.1Ajax異步查詢
- 4.4.2CAPTCHA
- 4.4.3MD5&SHA
- 4.4.4Cookie
- 4.4.5分頁顯示
- 4.4.6文件上傳
- 4.4.7發送郵件
- 5企業級框架
- 5.0Maven
- 5.1MyBatis
- 5.2Spring
- 5.3SpringMVC
- 6實踐項目
- 6.1實驗1-用戶登錄(MVC)
- 6.2實驗2-訪問統計(Servlet高級)
- 6.3實驗3-三層架構
- 6.4實驗4-安全信息系統