🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[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包 ![](https://img.kancloud.cn/6c/8c/6c8c68be5f0aeb795f36652aa943db8f_185x77.png) ![](https://img.kancloud.cn/d8/80/d880413a4e81d194a3027561e3e37efe_297x91.png) ## 问题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")} ```