一、EL表达式
什么是EL表达式
EL(Express Lanuage)表达式可以嵌入在jsp页面内部减少jsp脚本的编写EL出现的目的是要替代jsp页面中脚本的编写。EL表达式的作用
EL最主要的作用是获得四大域中的数据// 1. pageContext${pageScope.key};// 2. request${requestScope.key}// 3. session${sessionScope.key}// 4. application${applicationScope.key}
EL表达式的简写
EL从四个域中获得某个值${key}依次从pageContext域,request域,session域,application域中 获取属性,在某个域中获取后将不在向后寻找EL内置11对象
pageScope : 获取JSP中pageScope域中的数据requestScope : 获取JSP中requestScope域中的数据sessionScope : 获取JSP中sessionScope域中的数据applicationScope : 获取JSP中applicationScope域中的数据pageContext : pageContext获得其他八大对象获取当前项目的名称 : ${pageContext.request.contextPath}
以下6个对象很少用到:
param: request.getParameter()paramValues : rquest.getParameterValues()header : request.getHeader(name)headerValues : request.getHeaderValues()initParam : this.getServletContext().getInitParameter(name)cookie : request.getCookies()---cookie.getName()---cookie.getValue()
EL执行表达式
内部可以进行运算,只要有结果
${1+1}${empty user} <!-- 判断user是否为空 -->${user==null?true:false}
二、JSTL标准标签库
什么是JSTL
JSTL(JSP Standard Tag Library),JSP标准标签库可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能JSTL出现的目的同EL表达式一样也是要代替jsp页面中的脚本代码JSTL标准标签库有5个子库
核心库:Core /jsp/jstl/core 前缀:c国际化库:I18N /jsp/jstl/fmt 前缀:fmtSQL/jsp/jstl/sql 前缀:sqlXML/jsp/jstl/xml 前缀:xFunctions /jsp/jstl/functions 前缀:fn
把JSTL标签库jar包引入工程当中
将 jstl-1.2.jar 导入lib文件夹下
引入标签库
<%@ taglib uri="/jsp/jstl/core" prefix="c"%>
if 标签
<c:if test="${1==1 }">满足条件时,中间的内容才会显示出来</c:if>
通过是结合EL表达式一起使用,EL从域中取数据,使用JSTL进行判断或者遍历。