您的位置:首页 > Web前端 > JavaScript

El 和 JSTL 的使用简介

2015-01-20 10:46 435 查看
EL 和 JSTL 笔记


一、 EL表达式:

1. 常见用法${表达式},如果里面是javabean,则直接写属性名;也可以是判断表达式.

2.EL的参数: param, paramvalues. e.g:${user[param.c] }

3. empty:

<1>.空的集合等,"",null都是empty为true, e.g:${empty ""}==true

4. JavaBean的嵌套:嵌套的JavaBean中注意el的用法,e.g: ${user.addr.street}

5. 如图:

二、 JSTL:

1. 配置:

<1>. myeclipse集成了jstl,所以不用配置,只需要在jsp页面指明url,加入以下语句即可:

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

<2>. Eclipse没有实现jstl插件,所以需要配置,配置方法如:

1】、jstl1.0或以下的版本:

需要将jstl.jar和standard.jar包放入WEB-INF\lib下
在WEB-INF文件夹下放入所用到得.tld文件
在web.xml文件中配置taglib信息
<jsp-config>

<taglib>

<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>

<taglib-location>/WEB-INF/tlds/c.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>

<taglib-location>/WEB-INF/tlds/c-rt.tld</taglib-location>

</taglib>

</jsp-config>
在jsp页面中使用<%@ taglibprefix="c" uri="http://java.sun.com/jstl/core"%>
【2】、对于jstl-1.1以上的版本:
JSTL1.1以上的版本只用在lib中加入下载的jar包(jstl.jar),并在JSP页面头部加上这样一句话:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c" %>,用来指明jar包的URL,
并且,在Web.xml文件中不用做任何配置。

注意:
<1>、如果servlet是2.4版本以上(包含2.4)的则可以直接使用,如果是其他版本的话,jsp的属性isELIgnored默认值为true,页面对el表达式不计算,所以要使用jstl的话,则需要使用isELIgnored="false"属性.如:<%@page
isELIgnored="false"%>
<2>、如何查看jsp和servlet版本可以参见如下方式:tomcat的lib目录下有两个jar文件,分别名为jsp-api.jar和servlet-api.jar。解压这两个文件,用Notepad++之类的软件打开在其中的Meta-Info文件夹下的MANIFEST.MF文件,可以从Specification-Version看出其版本。




2. 使用:

<1>. 简单用法:(不常见):

(1) <c:out value=”EL” default=”” escapeXML=”true|false”></c:out>

<!—default: value为空时输出default内容 -->

(2) <c:set var=”a” value=”new User()” scope=”request|session”></c:set>

(3) <c:set var=”a”> <!--
表示将set中间的两个<h2>设为value -->

<h2>good goodstudy</h2>

<h2>day day up !</h2>

<c:set>

(4) <c:remove var=”a”></c:remove> <!--
表示在作用域里删除a的值 -->

<2>. 重要用法:(很重要):

(1). <c:if test=”EL” >

<h2>满足test的EL表达式时执行</h2>

</c:if>

(2). < c:choose>

<c:when test=”EL”>

<h2>执行第一行</h2>

</c:when>

<c:when test=”EL”>

<h2>执行第二行</h2>

</c:when>

<c:otherwise>

<h2>执行第三行</h2>

</c:otherwise>

</c:choose>

(3). <c:forEach items=”${user }” var=”temp” varStatus=”status”

begin=”3” end=”list.size()” step=”1”>

<c:if test=”${ status.index==0}”>

第一个:

</c:if>

<c:if test=”{ status.first }”>

第一个:

</c:if>

<c:if test=”{ status.last }”>

最后一个:

</c:if>

${status.count}

${temp}

</c:forEach>

<c:forEach>标签属性介绍:

Ø Items : 值是作用域中的key.

Ø var : 相当于for循环中的i变量.

Ø varStatus : var的相关属性.

Ø begin : 相当于i变量的初始值,默认值0,例如begin=”1” à int i=1;

Ø end : 相当于i变量的最大值,默认值为items最大值,例如end=”list.size()” à i<list.size();

Ø step : 步长,默认值为1,相当于i++,例如step=”1” à i++;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: