JSTL詳解(二)

          9.2.3? EL 表達式的操作符

          EL 表達式中還有許多操作符可以幫助完成各種所需的操作,之前的示例中“ . ”、“ [] ”就是其中的兩個,下面將用表 9.1 來展示所有操作符及它們各自的功能。

          9.1? EL 表達式的操作符

          操作符

          功能和作用

          .

          訪問一個 bean 屬性或者 Map entry

          []

          訪問一個數(shù)組或者鏈表元素

          ()

          對子表達式分組,用來改變賦值順序

          ? :

          條件語句,比如:條件 ?ifTrue:ifFalse

          如果條件為真,表達式值為前者,反之為后者

          +

          數(shù)學(xué)運算符,加操作

          -

          數(shù)學(xué)運算符,減操作或者對一個值取反

          *

          數(shù)學(xué)運算符,乘操作

          / div

          數(shù)學(xué)運算符,除操作

          % mod

          數(shù)學(xué)運算符,模操作 ( 取余 )

          == eq

          邏輯運算符,判斷符號左右兩端是否相等,如果相等返回 true ,否則返回 false

          != ne

          邏輯運算符,判斷符號左右兩端是否不相等,如果不相等返回 true ,否則返回 false

          < lt

          邏輯運算符,判斷符號左邊是否小于右邊,如果小于返回 true ,否則返回 false

          > gt

          邏輯運算符,判斷符號左邊是否大于右邊,如果大于返回 true ,否則返回 false

          <= le

          邏輯運算符,判斷符號左邊是否小于或者等于右邊,如果小于或者等于返回 true ,否則返回 false

          >= ge

          邏輯運算符,判斷符號左邊是否大于或者等于右邊,如果大于或者等于返回 true ,否則返回 false

          && and

          邏輯運算符,與操作賦。如果左右兩邊同為 true 返回 true ,否則返回 false

          || or

          邏輯運算符,或操作賦。如果左右兩邊有任何一邊為 true 返回 true ,否則返回 false

          ! not

          邏輯運算符,非操作賦。如果對 true 取運算返回 false ,否則返回 true

          empty

          用來對一個空變量值進行判斷 : null 、一個空 String 、空數(shù)組、 Map 、沒有條目的 Collection 集合

          func(args)

          調(diào)用方法 , func 是方法名, args 是參數(shù),可以沒有,或者有一個、多個參數(shù) . 參數(shù)間用逗號隔開

          這些操作符都是極其有用的,下面通過幾個示例來演示它們的使用方法:

          9.4 :幾組操作符的示例

          ${pageScope.sampleValue + 12} <br>? ????????? // 顯示 12

          ${(pageScope.sampleValue + 12)/3} <br>? ??? // 顯示 4.0

          ${(pageScope.sampleValue + 12) /3==4} <br> ??????? // 顯示 true

          ${(pageScope.sampleValue + 12) /3>=5} <br> ??????? // 顯示 false

          <input type="text" name="sample1" value="${pageScope.sampleValue + 10}"> // 顯示值為 10 Text 控件

          可以看到,對于這些示例,程序設(shè)計者完全無需管理它們的類型轉(zhuǎn)換,在表達式內(nèi)部都已經(jīng)處理了。有了 EL 表達式,在 JSP 頁面的編程變得更靈活,也更容易。

          9.2.3? JSTL 標(biāo)簽庫介紹 ??

          JSTL1.1 中有以下這些標(biāo)簽庫是被支持的: Core 標(biāo)簽庫、 XML processing 標(biāo)簽庫、 I18N formatting 標(biāo)簽庫、 Database access 標(biāo)簽庫、 Functions 標(biāo)簽庫。對應(yīng)的標(biāo)識符見表 9.2 所示:

          9.2 標(biāo)簽庫的標(biāo)識符

          標(biāo)簽庫

          URI

          前綴

          Core

          http://java.sun.com/jsp/jstl/core

          c

          XML processing

          http://java.sun.com/jsp/jstl/xml

          x

          I18N formatting

          http://java.sun.com/jsp/jstl/fmt

          fmt

          Database access

          http://java.sun.com/jsp/jstl/sql

          sql

          Functions

          http://java.sun.com/jsp/jstl/functions

          fn

          下面看例 9.5 ,簡單使用標(biāo)簽庫的示例。

          9.5 :簡單 JSTL 標(biāo)簽庫示例

          <%@ page contentType="text/html; charset=UTF-8"%>

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

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

          <html>

          ? <body>

          ??? <c:forEach var="i" begin="1" end="10" step="1">

          ????? ${i}

          ????? <br />

          ??? </c:forEach>

          ? </body>

          </html>

          在該示例的 JSP 頁面中聲明了將使用 Core 標(biāo)簽庫,它的 URI 為“ http://java.sun.com/jsp/jstl/core ”,前綴為“ c ”。之后,頁面中 <c:forEach> 標(biāo)簽就是使用了 JSTL 的標(biāo)簽進行了工作。對于該標(biāo)簽的功能,這里暫時不作具體講解,只是讓讀者能夠有個簡單的概念,了解怎樣定義和使用標(biāo)簽庫。

          9.3? JSTL Core 標(biāo)簽庫

          Core 標(biāo)簽庫,又被稱為核心標(biāo)簽庫,該標(biāo)簽庫的工作是對于 JSP 頁面一般處理的封裝。在該標(biāo)簽庫中的標(biāo)簽一共有 14 個,被分為了四類,分別是:

          q???????? 多用途核心標(biāo)簽: <c:out> <c:set> <c:remove> <c:catch>

          q???????? 條件控制標(biāo)簽: <c:if> <c:choose> <c:when> <c:otherwise>

          q???????? 循環(huán)控制標(biāo)簽: <c:forEach> <c:forTokens>

          q???????? URL 相關(guān)標(biāo)簽: <c:import> <c:url> <c:redirect> <c:param>

          以下是各個標(biāo)簽的用途和屬性以及簡單示例。

          9.3.1? 用于顯示的 <c:out> 標(biāo)簽

          <c:out> 標(biāo)簽是一個最常用的標(biāo)簽,用于在 JSP 中顯示數(shù)據(jù)。它的屬性和描述如表 9.3 所示:

          9.3   <c:out> 標(biāo)簽屬性和說明

          屬性

          描述

          value

          輸出到頁面的數(shù)據(jù),可以是 EL 表達式或常量(必須)

          default

          當(dāng) value null 時顯示的數(shù)據(jù)(可選)

          escapeXml

          當(dāng)設(shè)置為 true 時會主動更換特殊字符,比如“ &lt;,&gt;,&amp; ”(可選,默認(rèn)為 true

          JSTL1.0 的時候,在頁面顯示數(shù)據(jù)必須使用 <c:out> 來進行。然而,在 JSTL1.1 中,由于 JSP2.0 規(guī)范已經(jīng)默認(rèn)支持了 EL 表達式 ,因此可以直接在 JSP 頁面使用表達式。下面看一個示例。

          <c:out value="${sessionScope.anyValue}" default="no value" escapeXml="false"/>

          該示例將從 Session 查找名為“ anyValue ”的參數(shù),并顯示在頁面,若沒有找到則顯示“ no value ”。



          posted on 2007-01-18 10:02 nbt 閱讀(5880) 評論(3)  編輯  收藏 所屬分類: Servele&JSP和js

          評論

          # re: JSTL詳解(二) 2008-11-21 11:46 舞命小丟

          不錯的文章,學(xué)了!  回復(fù)  更多評論   

          # re: JSTL詳解(二) 2011-05-27 13:59 政——治

          政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治  回復(fù)  更多評論   

          # re: JSTL詳解(二) 2014-04-13 22:35 最代碼

          最代碼轉(zhuǎn)載了你的文章,有問題請回復(fù),地址:http://www.zuidaima.com/share/1778713749916672.htm  回復(fù)  更多評論   

          <2014年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          Java技術(shù)網(wǎng)站

          友情鏈接

          國內(nèi)一些開源網(wǎng)站

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安泽县| 贺兰县| 乌拉特前旗| 万年县| 青田县| 禹州市| 铜山县| 双流县| 南皮县| 沂水县| 瑞丽市| 璧山县| 秀山| 滦平县| 西乌珠穆沁旗| 喜德县| 西畴县| 吴忠市| 十堰市| 聊城市| 英德市| 镇江市| 鄂托克旗| 民勤县| 贵港市| 岳阳市| 河北区| 襄城县| 石家庄市| 钟祥市| 新宾| 兴国县| 咸阳市| 灌云县| 大英县| 洛南县| 手机| 台安县| 乡宁县| 滦南县| 安吉县|