EL/JSTL
#2020云栖大会#阿里云海量offer来啦!投简历、赢阿里云限量礼品及阿里云ACA认证免费考试资格!>>>
EL/JSTL
1.什么是EL
2.EL使用
3.什么是JSTL
4.JSTL常用
什么是EL表达式
EL(Express Lanuage)表达式可以嵌入在jsp页面内部减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。${EL表达式}
主要用途
| pageContext | ${pageScope.key}; |
| request | ${requestScope.key} |
| session | ${sessionScope.key} |
| application | ${applicationScope.key} |
简写
EL从四个域中获得某个值${key}
这样写没有指明域,就会按一定顺序到每个域当中去找找到第一个为止(依次从pageContext域,request域,session域,application域)
0 2 EL内置对象| pageScope | 获取JSP中pageScope域中的数据 |
| requestScope | 获取JSP中requestScope域中的数据 |
| sessionScope | 获取JSP中sessionScope域中的数据 |
| applicationScope | 获取JSP中applicationScope域中的数据 |
| param | request.getParameter() |
| paramValues | rquest.getParameterValues() |
| headerValues | request.getHeaderValues() |
| initParam | this.getServletContext().getInitParameter(name) |
| cookie | request.getCookies()---cookie.getName()---cookie.getValue() |
| pageContext | pageContext可获取其他八大对像 |
| header | request.getHeader(name) |
例:用EL的pageContext获得当前工程路径
// 虽然EL里面没有request对象,但用pageContext就可以${pageContext.request.contextPath}
内部可以进行运算,只要有结果返回
| ${1+1} | 2 |
| ${empty user} | 是否为空 true/false |
| ${user==null?true:false} | 判断语句 |
什么是JSTL
JSTL(JSP Standard Tag Library),JSP标准标签库可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能JSTL出现的目的同EL一样也是要代替jsp页面中的脚本代码
引入标签库
JSTL的使用的标签库需要引用才能使用
JSTL标准标签库有5个子库
| 库名 | 地址 | 前缀 |
|---|---|---|
| Core:核心库 | http://java.sun.com/jsp/jstl/core | c |
| I18N:国际化库 | http://java.sun.com/jsp/jstl/fmt | fmt |
| SQL | http://java.sun.com/jsp/jstl/sql | sql |
| XML | http://java.sun.com/jsp/jstl/xml | x |
| Functions | http://java.sun.com/jsp/jstl/functions | fn |
把JSTL标签库jar包引入工程当中
引入标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 0 4 JSTL常用
if标签
<c:if test="布尔表达式"><p>true<p></c:f>//当布尔表达式为正的时候才显示里面的标签//结合EL表达式<c:if test="${empty user}"><p>true<p></c:f>
forEach标签
普通循环
//从0-5循环,定义的值其实是存在pageContext域<c:forEach begin="0" end="5" var="i">${i}</c:forEach>
增加for循环
<%List<String> list = new ArrayList<>();list.add("aa");list.add("bb");list.add("cc");session.setAttribute("list",list);%>// 遍历里面的元素<c:forEach items="${list}" var="i">${i}</c:forEach>
它,
不仅仅是一个码
本文分享自微信公众号 - IT那个小笔记(qq1839646816)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

浙公网安备 33010602011771号