El 和 JSTL 的使用简介

1 篇文章 0 订阅
1 篇文章 0 订阅

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>、如果servlet2.4版本以上(包含2.4)的则可以直接使用,如果是其他版本的话,jsp的属性isELIgnored默认值为true,页面对el表达式不计算,所以要使用jstl的话,则需要使用isELIgnored="false"属性.如:<%@page isELIgnored="false"%>

<2>、如何查看jspservlet版本可以参见如下方式:tomcatlib目录下有两个jar文件,分别名为jsp-api.jarservlet-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++;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值