EL表达式和JSTL标准标签库

一、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从四个域中获得某个值$
  • 依次从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	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包引入工程当中

将 jstl-1.2.jar 导入lib文件夹下

引入标签库

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

if 标签

<c:if test="${1==1 }">满足条件时,中间的内容才会显示出来</c:if>

通过是结合EL表达式一起使用,EL从域中取数据,使用JSTL进行判断或者遍历。

if标签使用

  • 需求:用户登录成功时, 进入首页中,显示用户名
  • 步骤
    • 1.登录成功时,把用户写到session域当中
    • 2.在首页当中进行判断,从session域当中取数据
    • 3.通过EL结合JSTL进行判断

foreach标签

第一种:普通循环

第二种:增加for循环

  • 遍历字符串集合

  • 遍历对象集合

  • 遍历map

posted @ 2019-04-07 20:33  Lomen~  阅读(728)  评论(0编辑  收藏  举报