EL/JSTL

 

 

1.什么是EL

2.EL使用

3.什么是JSTL

4.JSTL常用

 

01什么是EL表达式

 

什么是EL表达式

 

EL(Express Lanuage)表达式可以嵌入在jsp页面内部减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。${EL表达式}

 

 

主要用途

 

EL最主要的作用是获得四大域中的数据
pageContext ${pageScope.key};
request ${requestScope.key}
session ${sessionScope.key}
application ${applicationScope.key}

 

简写

 

EL从四个域中获得某个值${key}

这样写没有指明域,就会按一定顺序到每个域当中去找找到第一个为止(依次从pageContext域,request域,session域,application域)

02EL内置对象

内置11个对象
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} 判断语句

03什么是JSTL

 

什么是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"%>



04JSTL常用

 

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>

 

 

EL/JSTL_jsp页面

它,

不仅仅是一个码