1. 程式人生 > >JSTL&EL

JSTL&EL

識別 狀態 變量 sessions 對象 RR string 元表 lang

JSTL

<1> 實現了JSP頁面代碼的復用
<2> 使得可讀性更強

導入

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

核心標簽

表達式控制標簽

out
  • 輸出常量

    可在value屬性中直接賦值
  • 輸出變量

    變量不存在時可配合default屬性輸出默認值

    set
  • 存值到Scope中

  • 存值到JavaBean中

    remove
  • var屬性必選
  • scope屬性可選
  • 不能移除JavaBean中的屬性

    catch
  • 包含哪些容易出錯的標簽

流程控制標簽

if
choose when otherwise

循環控制標簽

forEach
  • var設置變量名用於存儲從集合中取出來的元素
  • items指定要遍歷的集合
  • begin、end用於指定遍歷的起始位置和終止位置
  • varStatus通過index、count、first、last幾個狀態值,描述begin和end子集中元素的狀態
  • step默認一個一個遍歷 =2 隔一個遍歷一個

    forTokens
    用於瀏覽字符串,並根據指定的字符將字符串截取
  • items指定被叠代的zifuchaun
  • delims指定使用的分隔符
  • var指定用來存放遍歷到的成員

URL操作標簽

import
  • 可以把靜態的或動態的文件包含到本JSP頁面
  1. url被導入資源的URL路徑
  2. context 相同服務器下其他的web工程,必須以"/"開頭
  3. var以String類型存入被包含文件的內容
  4. Scope var變量的JSP範圍
  5. charEncoding被導入文件的編碼格式
  6. varReader 以Reader類型存儲bei被包含文件的內容

    redirect
  • url 指定重定向頁面的地址
  • context 用於導入其他的web應用中的頁面

    url
    動態生成一個String類型的URL
  • value表示url絕對路徑
  • var 表示這個url
  • scope 這個url的訪問域

JSTL函數

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

EL Expression Language

格式

${表達式}

"." [] 運算符

${user.sex} ${user["sex"]}
<1> 包含特殊字符只能用[]
<2> [] 動態取值

變量

JSP內置對象 EL名稱
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope

EL自動類型轉換

自動識別類型,自動轉換

EL運算符

驗證運算符 empty 空 返回true

EL表達式裏實現if else

三元表達式實現 a>b? a:b;

JSTL&EL