揭秘EL表達(dá)式語(yǔ)言的基礎(chǔ)總結(jié)(2)_JSP教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:揭秘JAVA面試問(wèn)題寶典大家找工作就要面試,有面試就有對(duì)付面試的辦法。以下一些題目來(lái)自我朋友痛苦的面試經(jīng)歷,他給我總結(jié)了一下,我拿來(lái)和大家分享!提這些問(wèn)題的公司包括IBM,E*Trade,Siebel,Motorola,SUN,以及其它大小公司。 面試是沒(méi)什么道理可講的,它的題目有的不合情理、脫
基本語(yǔ)法
一、EL簡(jiǎn)介
1.語(yǔ)法結(jié)構(gòu)
${expression}
2.[]與.運(yùn)算符
EL 提供.和[]兩種運(yùn)算符來(lái)存取數(shù)據(jù)。
當(dāng)要存取的屬性名稱中包含一些特殊字符,如.或?等并非字母或數(shù)字的符號(hào),就一定要使用 []。例如:
${user.My-Name}應(yīng)當(dāng)改為${user["My-Name"] }
如果要?jiǎng)討B(tài)取值時(shí),就可以用[]來(lái)做,而.無(wú)法做到動(dòng)態(tài)取值。例如:
${sessionScope.user[data]}中data 是一個(gè)變量
3.變量
EL存取變量數(shù)據(jù)的方法很簡(jiǎn)單,例如:${username}。它的意思是取出某一范圍中名稱為username的變量。
因?yàn)槲覀儾](méi)有指定哪一個(gè)范圍的username,所以它會(huì)依序從Page、Request、Session、Application范圍查找。
假如途中找到username,就直接回傳,不再繼續(xù)找下去,但是假如全部的范圍都沒(méi)有找到時(shí),就回傳null。
屬性范圍在EL中的名稱
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope
二、EL隱含對(duì)象
1.與范圍有關(guān)的隱含對(duì)象
與范圍有關(guān)的EL 隱含對(duì)象包含以下四個(gè):pageScope、requestScope、sessionScope 和applicationScope;
它們基本上就和JSP的pageContext、request、session和application一樣;
在EL中,這四個(gè)隱含對(duì)象只能用來(lái)取得范圍屬性值,即getAttribute(String name),卻不能取得其他相關(guān)信息。
例如:我們要取得session中儲(chǔ)存一個(gè)屬性u(píng)sername的值,可以利用下列方法:
session.getAttribute("username") 取得username的值,
在EL中則使用下列方法
${sessionScope.username}
2.與輸入有關(guān)的隱含對(duì)象
與輸入有關(guān)的隱含對(duì)象有兩個(gè):param和paramValues,它們是EL中比較特別的隱含對(duì)象。
例如我們要取得用戶的請(qǐng)求參數(shù)時(shí),可以利用下列方法:
request.getParameter(String name)
request.getParameterValues(String name)
在EL中則可以使用param和paramValues兩者來(lái)取得數(shù)據(jù)。
${param.name}
${paramValues.name}
3.其他隱含對(duì)象
cookie
JSTL并沒(méi)有提供設(shè)定cookie的動(dòng)作,
例:要取得cookie中有一個(gè)設(shè)定名稱為userCountry的值,可以使用${cookie.userCountry}來(lái)取得它。
header和headerValues
header 儲(chǔ)存用戶瀏覽器和服務(wù)端用來(lái)溝通的數(shù)據(jù)
例:要取得用戶瀏覽器的版本,可以使用${header["User-Agent"]}。
另外在鮮少機(jī)會(huì)下,有可能同一標(biāo)頭名稱擁有不同的值,此時(shí)必須改為使用headerValues 來(lái)取得這些值。
initParam
initParam取得設(shè)定web站點(diǎn)的環(huán)境參數(shù)(Context)
例:一般的方法String userid = (String)application.getInitParameter("userid");
可以使用 ${initParam.userid}來(lái)取得名稱為userid
pageContext
pageContext取得其他有關(guān)用戶要求或頁(yè)面的詳細(xì)信息。
${pageContext.request.queryString} 取得請(qǐng)求的參數(shù)字符串
${pageContext.request.requestURL} 取得請(qǐng)求的URL,但不包括請(qǐng)求之參數(shù)字符串
${pageContext.request.contextPath} 服務(wù)的web application 的名稱
${pageContext.request.method} 取得HTTP 的方法(GET、POST)
${pageContext.request.protocol} 取得使用的協(xié)議(HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} 取得用戶名稱
${pageContext.request.remoteAddr } 取得用戶的IP 地址
${pageContext.session.new} 判斷session 是否為新的
${pageContext.session.id} 取得session 的ID
${pageContext.servletContext.serverInfo} 取得主機(jī)端的服務(wù)信息
三、EL運(yùn)算符
1.算術(shù)運(yùn)算符有五個(gè):+、-、*或$、/或div、%或mod
2.關(guān)系運(yùn)算符有六個(gè):==或eq、!=或ne、<或lt、>或gt、<=或le、>=或ge
3.邏輯運(yùn)算符有三個(gè):&&或and、||或or、!或not
4.其它運(yùn)算符有三個(gè):Empty運(yùn)算符、條件運(yùn)算符、()運(yùn)算符
例:${empty param.name}、${A?B:C}、${A*(B+C)}
四、EL函數(shù)(functions)。
語(yǔ)法:ns:function( arg1, arg2, arg3 …. argN)
其中ns為前置名稱(prefix),它必須和taglib 指令的前置名稱一置
分享:揭秘幾個(gè)提升JSP應(yīng)用程序效率的小方法本文介紹了幾個(gè)調(diào)整JSP和servlet的一些非常實(shí)用的方法,它可使你的servlet和JSP頁(yè)面響應(yīng)更快,擴(kuò)展性更強(qiáng)。而且在用戶數(shù)增加的情況下,系統(tǒng)負(fù)載會(huì)呈現(xiàn)出平滑上長(zhǎng)的趨勢(shì)。我將通過(guò)一些實(shí)際例子和配置方法使得你的應(yīng)用程序的性能有出人意料的提升。其中,某些
相關(guān)JSP教程:
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁(yè)模板:關(guān)于jsp頁(yè)面使用jstl的異常分析
- JSP頁(yè)面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫(kù)的配置方法
- JDBC連接Access數(shù)據(jù)庫(kù)的幾種方式介紹
- 網(wǎng)站圖片路徑的問(wèn)題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁(yè)上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
JSP教程Rss訂閱編程教程搜索
JSP教程推薦
- Linux系統(tǒng)下兩種自動(dòng)啟動(dòng)Tomcat的方法
- JSP初學(xué)者必須掌握的語(yǔ)法點(diǎn)
- JSP教程之整合hibernate持久層2
- JSPServletJSF標(biāo)簽庫(kù)的深入研究
- 高性能、高彈性JSP和Servlet性能優(yōu)化
- jsp頁(yè)面顯示數(shù)據(jù)導(dǎo)出到excel表中
- 如何學(xué)習(xí)JSP
- URL Rewrite實(shí)現(xiàn)jsp網(wǎng)站偽靜態(tài)
- Jsp常用技巧圖片驗(yàn)證碼
- AJAX實(shí)現(xiàn)web頁(yè)面級(jí)聯(lián)菜單
猜你也喜歡看這些
- 使用Java編寫Palm OS程序的解決方案1
- 實(shí)例解析AJAX與JSF實(shí)現(xiàn)帶進(jìn)度條的批量上傳
- JSP初級(jí)教程之跟我學(xué)JSP(四)
- JSP Struts之HTML標(biāo)簽庫(kù)詳解
- Java:Web實(shí)現(xiàn)定時(shí)任務(wù)的簡(jiǎn)便方法
- Struts構(gòu)架中的Session對(duì)象創(chuàng)建和控制
- JSP三種頁(yè)面跳轉(zhuǎn)方式的比較
- AJAX實(shí)現(xiàn)web頁(yè)面級(jí)聯(lián)菜單
- 動(dòng)態(tài)生成驗(yàn)證碼
- Tomcat網(wǎng)站發(fā)布配置方案詳細(xì)說(shuō)明
- 相關(guān)鏈接:
- 教程說(shuō)明:
JSP教程-揭秘EL表達(dá)式語(yǔ)言的基礎(chǔ)總結(jié)(2)
。