EL与JSTL使用介绍

EL与JSTL

jsp页面可以使用java代码来实现页面逻辑,但是维护比较困难。

可以使用EL来访问和处理应用程序的数据。

JSTL来替换页面显示逻辑的java代码。

尽量减少java代码的使用。

EL

EL是jsp2.0规范中增加的,基本语法为${表达式},类似于<%=表达式%>。

通过page指令的isELIgnored属性来说明是否只是EL表达式。默认不写为False。False为可用,True为不可用。

基本用法

${user.name}或${user[“name”]}相当于<%=user.getName()%>

${array[0]}获取数组/集合array中数据

EL表达式支持:

算数运算符,${a+b}

关系运算符,${a==b}//同时也可以用${a eq b}

eq,ne,lt,gt,le,ge依次代表==,!=,<,>,<=,>=

逻辑运算符,${a&& b}或${a and b},|| or,! not

条件运算符,${a ?b:c}

empty运算符,${empty a},变量a不存在返回true。

EL隐含对象

EL隐含对象有11个,可直接用。

applicationScope,应用程序范围内的scoped变量组成的集合

cookie,所有cookie组成的集合

header,HTTP请求头部,字符串

headerValues,HTTP请求头部,字符串集合

initParam,全部应用程序参数名组成的集合

pageContext,当前页面的javax.servlet.jsp.PageContext对象

pageScope,页面范围内所有对象的集合

param,所有请求参数字符串组成的集合

paramValues,所有作为字符串集合的请求参数

requestScop,e所有请求范围的对象的集合

sessionScope,所有会话范围的对象的集合

 

JSTL

JSTL标准标签标签库由Core,I18N,XML,SQL,Functions五个不同功能的标签库组成。

配置JSTL

Tomcat的\webapps\examples\WEB-INF \lib目录下找到standard.jar和jstl.jar文件复制到Web工程的WEB-INF\lib目录下。

使用taglib标记定义前缀与uri引用

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

 

下面主要介绍一下Core核心标签库。

核心标签库

通用标签

<c:out>

用来显示数据的内容,可直接用EL表达式

<c:out value=”value”default=”default value”/>

<c:set>

可以在page、request、session、application等范围内设置一个变量

<c:set value=”value”var=”varName” scope=”page/request/session/application”>

如:<c:setvalue=”123” var=”a” scope=”session”>

相当于:<%session.setAttribute(“a”,123)%>

设置JavaBean的属性必须使用target属性进行设置:

<c:set value=”value” target=”JavaBean=”property=”propertyName”>

<c:remove>

删除某个变量

<c:remove var=”varName”scope=”session”/>

相当于<%session.remmoveAttribute(“varName”)>

流程控制标签

<c:if>

<c:if test=”表达式”>主体内容</c:if>

<c:choose><c:when><c:otherwise>

可以实现if/elseif/else的功能,如:

<c:choose>

       <c:whentest=”表达式1”>主体内容</c:when>

       <c:whentest=”表达式2”>主体内容</c:when>

       <c:otherwise>else内容</c:otherwise>

</c:choose>

<c:forEach>

实现for循环

<c:forEach var=”item” items=”Collectionsor Arrays”>

循环体

</c:forEach>

<c:forTokens>

用于迭代字符串中由分隔符的各成员,由java.util.StringTokenizer实例实现。

<c:forTokens var=”item” items=”String对象” delims=”指定分隔符”>

循环体

</c:forTokens>

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值