1.el表達(dá)式的使用
1)訪問bean的屬性
方式一:
${user.name},容器會(huì)依次從pageContext,request,session,application中查找(getAttribute)綁定名稱為user的對(duì)象廊宪,并調(diào)用該對(duì)象的getName方法,最后輸出猾瘸。
并且比較友好嫌佑,找不到對(duì)象會(huì)將null轉(zhuǎn)換成""空字符串輸出冒冬。但是一定要有g(shù)et方法翘簇,如果找不到get方法蜀踏,還是會(huì)error500錯(cuò)誤维蒙。
指定查找范圍:pageScope,requestScope,sessionScope,application來(lái)指定,例如${sessionScope.user.name}果覆,就算session找不到颅痊,其他地方也不找了
方式二:
${user["name"]}
${user.interest[0]},可以訪問數(shù)組下標(biāo),要有g(shù)et方法局待。
2)進(jìn)行一些簡(jiǎn)單的運(yùn)算斑响,運(yùn)算的結(jié)果可以給jsp標(biāo)簽的屬性賦值菱属,也可以直接輸出。
a.算術(shù)運(yùn)算 +- */ %
${1+1}直接輸出2舰罚,沒有字符串拼接 .${"2"+"4"}輸出6
b.關(guān)系運(yùn)算 > < = == >= !=
${2>1}直接輸出true
c.邏輯運(yùn)算 && || 纽门!
${1<2 && 2>3} false
d.empty運(yùn)算
用來(lái)判斷集合是否為空,或者是否是一個(gè)空字符串
<%
List list1=new ArrayList();
request.setAttribute("list",list1);
request.setAttribute("str2","");
${empty list} //輸出true
${empty str2}//輸出true
${empty null}//輸出true
${empty aaa}//輸出true营罢,容器找不到aaa這個(gè)綁定名也會(huì)true
%>
3)讀取請(qǐng)求參數(shù)值?e3.jsp?username=Sally
a.${param.username}等價(jià)于request.getParameter("username");
b.${paramValues.city}等價(jià)于request.getParamterValues("city");
JSTL是一個(gè)標(biāo)準(zhǔn)的已
制定好的標(biāo)簽庫(kù)赏陵,可以應(yīng)用于各種領(lǐng)域,如:基本輸入輸出饲漾,流程控制蝙搔,循環(huán),XML文件剖析考传,數(shù)據(jù)庫(kù)查
詢以及國(guó)際化和文字格式標(biāo)準(zhǔn)化的應(yīng)用等吃型。JSTL所提供的標(biāo)簽庫(kù)分為以下五大類:
核心標(biāo)簽庫(kù)(Core tag Liabry)主要有:基本輸入輸出,流程控制僚楞,迭代操作和URL操作败玉。
在JSP中使用JSTL中的標(biāo)簽庫(kù)時(shí),必須使用<%@taglib%>指令镜硕,并且設(shè)定prefix和uri的值得运翼,通常設(shè)定:
<%@taglibprefix="c" uri="xxxxxx"%>
這樣就可以使用核心標(biāo)簽庫(kù)了。
.表達(dá)式操作
表達(dá)式操作分類中包含四個(gè)標(biāo)簽和重要用來(lái)顯示數(shù)據(jù)的內(nèi)容兴枯,類似與<%=scripting-language%>血淌。它的語(yǔ)法如下:
語(yǔ)法1: 沒有body內(nèi)容
語(yǔ)法2: 有body內(nèi)容
default value