JSTL詳解(二)

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

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

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

          操作符

          功能和作用

          .

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

          []

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

          ()

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

          ? :

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

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

          +

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

          -

          數(shù)學(xué)運(yùn)算符,減操作或者對一個(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)算符,非操作賦。如果對 true 取運(yùn)算返回 false ,否則返回 true

          empty

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

          func(args)

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

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

          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è)計(jì)者完全無需管理它們的類型轉(zhuǎn)換,在表達(dá)式內(nèi)部都已經(jīng)處理了。有了 EL 表達(dá)式,在 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)識(shí)符見表 9.2 所示:

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

          標(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)簽進(jìn)行了工作。對于該標(biāo)簽的功能,這里暫時(shí)不作具體講解,只是讓讀者能夠有個(gè)簡單的概念,了解怎樣定義和使用標(biāo)簽庫。

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

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

          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)簽的用途和屬性以及簡單示例。

          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)簽屬性和說明

          屬性

          描述

          value

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

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

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



          posted on 2007-01-18 10:02 nbt 閱讀(5880) 評(píng)論(3)  編輯  收藏 所屬分類: 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)載了你的文章,有問題請回復(fù),地址:http://www.zuidaima.com/share/1778713749916672.htm  回復(fù)  更多評(píng)論   

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

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

          友情鏈接

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

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 佛教| 三门峡市| 黔江区| 新郑市| 兴文县| 云霄县| 曲阜市| 密山市| 遂平县| 乌什县| 河曲县| 中阳县| 邵东县| 台中市| 宁强县| 陇南市| 府谷县| 桂阳县| 惠安县| 舒兰市| 黎城县| 桐梓县| 南平市| 博客| 南岸区| 和龙市| 贞丰县| 望都县| 资中县| 苏州市| 永靖县| 北安市| 嘉禾县| 文山县| 响水县| 鄂伦春自治旗| 勐海县| 大足县| 天峻县| 扎囊县| 桐梓县|