JSTL詳解(二)

          9.2.3? EL 表達式的操作符

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

          9.1? EL 表達式的操作符

          操作符

          功能和作用

          .

          訪問一個 bean 屬性或者 Map entry

          []

          訪問一個數組或者鏈表元素

          ()

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

          ? :

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

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

          +

          數學運算符,加操作

          -

          數學運算符,減操作或者對一個值取反

          *

          數學運算符,乘操作

          / div

          數學運算符,除操作

          % mod

          數學運算符,模操作 ( 取余 )

          == 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 、空數組、 Map 、沒有條目的 Collection 集合

          func(args)

          調用方法 , func 是方法名, args 是參數,可以沒有,或者有一個、多個參數 . 參數間用逗號隔開

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

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

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

          9.2.3? JSTL 標簽庫介紹 ??

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

          9.2 標簽庫的標識符

          標簽庫

          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 ,簡單使用標簽庫的示例。

          9.5 :簡單 JSTL 標簽庫示例

          <%@ 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 標簽庫,它的 URI 為“ http://java.sun.com/jsp/jstl/core ”,前綴為“ c ”。之后,頁面中 <c:forEach> 標簽就是使用了 JSTL 的標簽進行了工作。對于該標簽的功能,這里暫時不作具體講解,只是讓讀者能夠有個簡單的概念,了解怎樣定義和使用標簽庫。

          9.3? JSTL Core 標簽庫

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

          q???????? 多用途核心標簽: <c:out> <c:set> <c:remove> <c:catch>

          q???????? 條件控制標簽: <c:if> <c:choose> <c:when> <c:otherwise>

          q???????? 循環控制標簽: <c:forEach> <c:forTokens>

          q???????? URL 相關標簽: <c:import> <c:url> <c:redirect> <c:param>

          以下是各個標簽的用途和屬性以及簡單示例。

          9.3.1? 用于顯示的 <c:out> 標簽

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

          9.3   <c:out> 標簽屬性和說明

          屬性

          描述

          value

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

          default

          value null 時顯示的數據(可選)

          escapeXml

          當設置為 true 時會主動更換特殊字符,比如“ &lt;,&gt;,&amp; ”(可選,默認為 true

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

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

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



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

          評論

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

          不錯的文章,學了!  回復  更多評論   

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

          政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治政——治  回復  更多評論   

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

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

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

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          Java技術網站

          友情鏈接

          國內一些開源網站

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 伊金霍洛旗| 舒城县| 霍州市| 南木林县| 鹤庆县| 西宁市| 随州市| 唐山市| 海盐县| 福州市| 宜章县| 泸水县| 阿勒泰市| 仪征市| 莱芜市| 静宁县| 中卫市| 双辽市| 萝北县| 平顶山市| 焦作市| 铁岭县| 时尚| 滦南县| 临沧市| 荆州市| 昔阳县| 外汇| 延川县| 莒南县| 柯坪县| 茂名市| 穆棱市| 剑阁县| 高尔夫| 拜泉县| 博爱县| 沅陵县| 炉霍县| 芦山县| 砚山县|