5.1 el及其在jsp中的重要地位
出現因由:爲了滿足如下需求:
·爲了jsp 執行提供流程控制
·設置jsp頁面的局部變量,並在以後訪問
· 要提供複雜的表達式的值
·訪問一個任意java對象的性質
·調用javabean或其他java對象的方法
5.2 el命名變量
el中的命名變量是指附加到jsp作用域對象的屬性。
el分析器在jsp作用域搜索屬性順序(沒找到則返回一個Null值,空串值)
·頁面作用域
·請求作用域
·會話作用域(當前有效)
·應用作用域
5.3 應用el
el表達式都用 ${ } 記法表示
el表達式在jsp中的位置
·內聯放置在模版數據中。
·放在jsp動作屬性中
el屬性值中使用el表達式
·操作符有以下幾類
·算術操作符:+ 、-、×、/
·邏輯操作符:&&、|| (and or)
·比較操作符:>= <= < >
·空前綴操作符:empty
5.4 強制轉換、自動類型轉換
jsp爲弱類型編程,所以開發人員不用調用任何的數據類轉換函數(自動),但在有些情況下對轉換結果
更細的控制,所以這時可以利用el內置的強制轉換規則。
4.1裝箱和拆箱:爲一個基本類型創建一個相關的JAVA對象
4.2 強制轉換爲字符:
·如果變量爲基本類型,先對其裝箱
·使用包裝對象的toString()方法來得到與變量對應的String。
4.3 強制轉換爲數字
任何類型的變量都可以強制轉換爲數字類型,如果必要會先對其裝箱,然後完成以下步驟。
·如果類型爲String,使用Valueof()方法得到變量值(空串返回0)
·如果爲Character,使用new Shorta((short) v.charValue()) (V爲Character的變量)
·如果必要,要對變量拆箱
如果null值會返回0,Boolean會得到一個錯誤。
4.4強制轉換爲字符
·如果類型是一個數字類型,先轉換爲Short,然後返回一個數值與Short值相同的字符
·如果爲String,會使用方法charAt(0),來獲取字符串中的第一個字符。
5.5 訪問對象性質和集合
EL訪問一個命名變量的性質時,要用到"."或“[ ]”操作符。用這帶. 的操作符來訪問嵌套性質。
5.6 JSP2.0中的EL隱式對象
隱式對象就是用來爲JSP編程提供方便,用EL編寫的代碼可以直接在JSP中使用無需其他顯式編碼或聲明
JSP中共有11EL個隱式對象,分爲5個大類
·jsp隱式對象:pagecontext(與同名JSP隱式對象爲同一個對象)
·作用域訪問隱式對象:pagescope,requestscope,sessionscope,applicationscope
·參數訪問隱式對象:param,paramvalues
·首部訪問隱式對象:header,headervalues,cookie
·初始化參數訪問隱式對象:initparam
5.7 用戶提供的EL函數:EL支持一種用戶提供EL函數的概念(user-supplied ELfunction)
7.1 命名空間和EL函數
訪問用戶提供函數的EL語法要使用一個命名空間並在標記庫描述文件(TLD)中描述EL函數。