EL表達式
表達式語言是一種簡化的數據訪問方式,可以方便的訪問JSP的隱含對象和JavaBeans組件,可用於簡化JSP頁面的開發,允許美工設計人員使用表達式語言的語法獲取業務邏輯組件傳過來的變量值
語法格式:
${expression}
表達式語言---算數運算符
${1}
${1.2 + 2.3}
${1.2E4 + 1.4}
${3 - 2}
${21 * 2}
${3 div 4} //除法
${10 % 4} //取餘
${10 mod 4} //取餘
${(1==2) ? 3 : 4} //三目運算
注:如果想在頁面正常輸入$符號,需要使用轉義字符”\”;
表達式語言---邏輯運算符
${1 < 2} //比較兩個數字
${1 lt 2} //小於,等同於<
${1 gt 2} //大於,等同於>
${4.0 ge 3} //大於等於,等同於>=
${4 le 3} //小於等於,等同於<=
${100.0 eq 100} //等於,等同於==
${(10*10) ne 100} //不等於,等同於!=
${'a' < 'b'} //字符間比較
表達式內置語言
表達式包含11個內置對象
pageContext //代表該頁面的pageContext對象,於JSP中相同
pageScope //用於獲取page範圍的屬性值
requestScope //用於獲取request範圍的屬性值
sessionScope //用於獲取session範圍的屬性值
applicationScope //用於獲取application範圍的屬性值
param //用於獲取請求的參數值
paramValues //用於獲取請求的參數值,與param不同:用於獲取屬性值爲數組的屬性值
header //獲取請求頭的屬性
headerValues //獲取請求頭屬性值,與header區別:獲取屬性值爲數組的屬性值
initParam //獲取請求Web應用的初始化參數
cookie //用於獲取指定的cookie值
自定義函數的開發步驟
1.開發函數處理類:函數處理類就是普通類,包含若干個靜態方法,每個靜態方法都可定義成一個函數
例:
public class Functions {
//對字符串進行反轉
public static String reverse(String text) {
return new StringBuffer(text).reverse().toString();
}
//統計字符串的個數
public static int countChar(String text) {
return text.length();
}
}
2.使用標籤庫定義函數:與定義標籤的方法大致相似。在
<short-name>crazyit</short-name>
<uri>http://www.crazyit.org/tags</uri>
//reverse
<function>
<name>reverse</name>
<function-class>lee.Functions</function-class>
<function-signature>
java.lang.String reverse(java.lang.String)
</function-signature>
</fuction>
//countChar
<function>
<name>countChar</name>
<function-class>lee.Functions</function-class>
<function-signature>
int countChar(java.lang.String)
</function-signature>
</function>
3.EL中使用函數:一樣需要先導入標籤庫,然後再使用函數。
使用reverse函數
${crazyit:reverse(param["name"])}
${crazyit:countChar(param["name"])}