EL&JSTL

125 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天,[点击查看活动详情]

EL表达式

监听器在开发的时候,一定要用到EL表达式。\

表达式语言

EL:Expression Language。表达式语言
原本是JSTL1.0(JavaServer Pages Standard Tag Library)。为方便存储数据所定义的的语言。后来成为JSP标准的一部分。
JSP中表达式语法:<%=变量名/表达式%>用于将变量显示在客户端。同理于JSP中程序段语法:<%out.print(变量名)%>。
EL具有与表达式相同的输出的功能,还有简单的运算符,访问对象,简单的JavaBean访问,简单的集合访问功能。

EL语法

结构:

${Expression}
${collection[elementName]}

使代码书写的量少了,效率就提高了。
提供了两种实现对相应数据存取的运算符:.(点操作),【】操作(当项表达不规范时用,例如特殊字符)。\

${sessionScope.user.sex}等价于String str="sex";${sessionScope.user[str]}

在动态取值时,只能用【】。

运算符

+:${17+5},显示的是22。
除:/或div.
余数:%或mod
empty A:A为空,不存在,为空字符串,空数组时,返回true.
作用域:pageScope(取得page范围的属性名称所对应的值) , requestScope, sessionScope, applicationScope,类型都是java.util.Map.
param(获取单个参数) 对象获得参数:< a href="paramExample2.jsp?m=3&n=4"/ >到达paramExample2.jsp页面。
cookie 对象获得值。

${cookie.accout.value}

paramValues:获取捆绑数组参数。
initParam:获取web.xml中的参数值。

JSTL标签

用于各种领域。一个标签库。
核心标签库:前缀:c
I18N标签库:前缀:fmt
SQL标签库:前缀:sql
XML标签库:前缀:x
函数标签库:前缀:fn
必须使用taglib指令,taglib指令的作用是声明JSP文件使用的标签库。
基本语法:<%@taglib prefix="c" uri="java.sun.com/jsp/jstl/co…

核心标签库 core

功能分类:
表达式操作:out,set,remove,catch(扑获)
流程控制:if,choose,when,otherwise
迭代操作:forEach,forTokens
URL操作:import,param,url,redirect
<c:out value="${}"></c:out>用来显示数据内容==<%=表达式%>
<c:set></c:set>用于对变量或者JavaBean中的变量属性赋值。value, target, property,var,scope.
<c:remove />用于删除存在于scope中的变量。var(变量名),scope(变量的作用范围).
<c:if></c:if>用于简单的条件语句。<c:if test="dollar{判断条件}">结果</c:if>
<c:choose><c:when><c:otherwise>一起用,用于实现复杂条件判断语句。<c:choose><c:when test="dollar{条件1}">体</c:when><c:otherwise></c:choose>
<c:forEach></c:forEach>:循环控制标签,将集合中的成员顺序浏览一遍。<c:forEach var="元素名"items="集合名"begin="起始"end="结束"step="步长">代码段</c:forEach>\