JSTL詳解(二)

          9.2.3? EL 表達(dá)式的操作符

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

          9.1? EL 表達(dá)式的操作符

          操作符

          功能和作用

          .

          訪問(wèn)一個(gè) bean 屬性或者 Map entry

          []

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

          ()

          對(duì)子表達(dá)式分組,用來(lái)改變賦值順序

          ? :

          條件語(yǔ)句,比如:條件 ?ifTrue:ifFalse

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

          +

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

          -

          數(shù)學(xué)運(yùn)算符,減操作或者對(duì)一個(gè)值取反

          *

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

          / div

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

          % mod

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

          == eq

          邏輯運(yùn)算符,判斷符號(hào)左右兩端是否相等,如果相等返回 true ,否則返回 false

          != ne

          邏輯運(yùn)算符,判斷符號(hào)左右兩端是否不相等,如果不相等返回 true ,否則返回 false

          < lt

          邏輯運(yùn)算符,判斷符號(hào)左邊是否小于右邊,如果小于返回 true ,否則返回 false

          > gt

          邏輯運(yùn)算符,判斷符號(hào)左邊是否大于右邊,如果大于返回 true ,否則返回 false

          <= le

          邏輯運(yùn)算符,判斷符號(hào)左邊是否小于或者等于右邊,如果小于或者等于返回 true ,否則返回 false

          >= ge

          邏輯運(yùn)算符,判斷符號(hào)左邊是否大于或者等于右邊,如果大于或者等于返回 true ,否則返回 false

          && and

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

          || or

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

          ! not

          邏輯運(yùn)算符,非操作賦。如果對(duì) true 取運(yùn)算返回 false ,否則返回 true

          empty

          用來(lái)對(duì)一個(gè)空變量值進(jìn)行判斷 : null 、一個(gè)空 String 、空數(shù)組、 Map 、沒(méi)有條目的 Collection 集合

          func(args)

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

          這些操作符都是極其有用的,下面通過(guò)幾個(gè)示例來(lái)演示它們的使用方法:

          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 控件

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

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

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

          9.2 標(biāo)簽庫(kù)的標(biāo)識(shí)符

          標(biāo)簽庫(kù)

          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 ,簡(jiǎn)單使用標(biāo)簽庫(kù)的示例。

          9.5 :簡(jiǎn)單 JSTL 標(biāo)簽庫(kù)示例

          <%@ 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 頁(yè)面中聲明了將使用 Core 標(biāo)簽庫(kù),它的 URI 為“ http://java.sun.com/jsp/jstl/core ”,前綴為“ c ”。之后,頁(yè)面中 <c:forEach> 標(biāo)簽就是使用了 JSTL 的標(biāo)簽進(jìn)行了工作。對(duì)于該標(biāo)簽的功能,這里暫時(shí)不作具體講解,只是讓讀者能夠有個(gè)簡(jiǎn)單的概念,了解怎樣定義和使用標(biāo)簽庫(kù)。

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

          Core 標(biāo)簽庫(kù),又被稱(chēng)為核心標(biāo)簽庫(kù),該標(biāo)簽庫(kù)的工作是對(duì)于 JSP 頁(yè)面一般處理的封裝。在該標(biāo)簽庫(kù)中的標(biāo)簽一共有 14 個(gè),被分為了四類(lèi),分別是:

          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> 。

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

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

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

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

          屬性

          描述

          value

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

          default

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

          escapeXml

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

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

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

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



          posted on 2007-01-18 10:02 nbt 閱讀(5879) 評(píng)論(3)  編輯  收藏 所屬分類(lèi): Servele&JSP和js

          評(píng)論

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

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

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

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

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

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

          <2011年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          相冊(cè)

          收藏夾

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

          友情鏈接

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

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 保康县| 泸定县| 吉木乃县| 自贡市| 乐昌市| 南华县| 兰考县| 潞城市| 昭苏县| 开阳县| 巴林左旗| 通许县| 勐海县| 东兰县| 龙里县| 西林县| 永德县| 武隆县| 陇西县| 晋宁县| 济宁市| 延庆县| 乌拉特后旗| 夏津县| 剑川县| 望奎县| 清苑县| 桐乡市| 宁晋县| 宁远县| 和政县| 宝应县| 鹤壁市| 浦东新区| 文山县| 伊金霍洛旗| 库尔勒市| 洪湖市| 平远县| 余庆县| 江永县|