El 和 JSTL 的使用簡介

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++;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章