1. EL 表达式
* 概念: Expression Language 表达式语言
* 作用: 替换简化 jsp 页面中 java 代码的编写
* 语法:${表达式}
* 注意:
* jsp 默认是支持 jsp 表达式的
将 JSP 中 page 指令的 isELIgnored = true
\${} 加了反斜线就会忽略 EL 表达式成为一个可显示的普通字符串
* 使用:
* 运算
1. 运算符
1. 算数运算符: +,-, *, /(div), %(mod)
2. 比较运算符:<,>, <=,>=, ==, != ...
3. 逻辑运算符:&&(and), ||(or), !(not)
4. 空运算符 (empty)
* 功能: 用于判断字符串, 集合, 数组对象是否为 null 并且长度是否为零
* 获取值
* el 表达式只能从域对象中获取值
* 语法
${域名称. 键名}: 从指定得域中获取指定得键得值
- pageScope --> pageContext
- requestScope --> request
- sessionScope --> session
- applicationScope --> application (ServletContext)
${键名}: 表示一次从最小得域开始查找, 知道找到为止
对象:${域名称. 键名. 对象名}
获取对象: List 集合, Map 集合得值
1. List 集合:${域名称. 键名 [索引值]}
2. Map:${map. 键名}
${map["键名"]}
隐式对象:
* pageContext:
1. 获取 jsp 其他八个内置对象 (区别于隐式对象)
2. ${pageContext.request.contextPath}: 动态获取虚拟目录
2. JSTL 标签
1. 概念: JavaServlet Pages Tag Library ->jsp 标准标签库
* 是由 Apache 组织提供得开源的免费的 jsp 标签
2. 作用: 用于简化和替换 jsp 页面上的 java 代码
3. 使用步骤:
1. 导入 jstl 相关 jar 包
2. 引入标签库: tablib 指令
3. 使用标签
4. 常用的 JSTL 标签
1. if : 相当于 java 的 if 语句
c:if 标签
1. 属性:
* test 必须属性, 接收 boolean 表达式
* 如果表达式为 true, 则显示标签体的内容, 如果为 false 则不显示标签体的内容
* 一般情况下, 这里的 test 属性肯定不会是固定值, 而是结合 el 表达式来一起使用
例如:
<c:if test="${not empty requestScope.get('name_list')}">
遍历集合
</c:if>
2. choose : 相当于 java 代码的 switch 语句
<%--
完成数字编号对应星期几的案例
1. 在域中存储一数字
2. 使用 choose 标签取出数字 (相当于 switch 关键字)
3. 使用 when 标签做数字判断 (相当于 case)
4. otherwise 标签做其他情况的声明
- --%>
- <c:choose>
- <c:when test="${requestScope.get('number') == 1}"> 星期 1</c:when>
- <c:otherwise > 憋瞎写 </c:otherwise>
- </c:choose>
3. foreach : 相当于 java 的 for 循环语句
foreach 使用场景:
1. 完成重复操作
* 属性:
begin: 开始值
end: 结束值
var: 临时变量
step: 步长
varStatus: 循环状态对象
- <c:forEach begin="1" end="10" var="i" step="1" varStatus="s">
- ${i} ${s.index} ${s.count}<br>
- </c:forEach>
2. 遍历容器
- <c:forEach items="${requestScope.get('list')}" var="item">
- ${item}
- </c:forEach>
来源: http://www.bubuko.com/infodetail-3495634.html