日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)JSP教程:JSP表達式語言

JSP 表達式語言(EL)使得訪問存儲在 JavaBean 中的數(shù)據(jù)變得非常簡單。JSP EL 既可以用來創(chuàng)建算術(shù)表達式也可以用來創(chuàng)建邏輯表達式。在 JSP EL 表達式內(nèi)可以使用整型數(shù),浮點數(shù),字符串,常量 true、false,還有 null。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、鼓樓網(wǎng)站維護、網(wǎng)站推廣。

一個簡單的語法

典型的,當(dāng)您需要在 JSP 標簽中指定一個屬性值時,只需要簡單地使用字符串即可:


JSP EL 允許您指定一個表達式來表示屬性值。一個簡單的表達式語法如下:

${expr}

其中,?expr? 指的是表達式。在 JSP EL 中通用的操作符是?"."?和?"[]"?。這兩個操作符允許您通過內(nèi)嵌的 JSP 對象訪問各種各樣的 ?JavaBean? 屬性。

舉例來說,上面的??標簽可以使用表達式語言改寫成如下形式:


當(dāng) JSP 編譯器在屬性中見到"?${}?"格式后,它會產(chǎn)生代碼來計算這個表達式,并且產(chǎn)生一個替代品來代替表達式的值。

您也可以在標簽的模板文本中使用表達式語言。比如??標簽簡單地將其主體中的文本插入到 JSP 輸出中:


Hello JSP!

現(xiàn)在,在??標簽主體中使用表達式,就像這樣:


Box Perimeter is: ${2*box.width + 2*box.height}

在EL表達式中可以使用圓括號來組織子表達式。比如?${(1 + 2) * 3}?等于9,但是?${1 + (2 * 3)} ?等于7。

想要停用對 EL 表達式的評估的話,需要使用 ?page ?指令將 ?isELIgnored? 屬性值設(shè)為? true?:

<%@ page isELIgnored ="true|false" %>

這樣,EL 表達式就會被忽略。若設(shè)為?false?,則容器將會計算 EL 表達式。

EL中的基礎(chǔ)操作符

EL表達式支持大部分Java所提供的算術(shù)和邏輯操作符:

操作符 描述
. 訪問一個?Bean?屬性或者一個映射條目
[] 訪問一個數(shù)組或者鏈表的元素
( ) 組織一個子表達式以改變優(yōu)先級
+
- 減或負
*
/ or div
% or mod 取模
== or eq 測試是否相等
!= or ne 測試是否不等
< or lt 測試是否小于
> or gt 測試是否大于
<= or le 測試是否小于等于
>= or ge 測試是否大于等于
&& or and 測試邏輯與
|| or or 測試邏輯或
! or not 測試取反
empty 測試是否空值

JSP EL中的函數(shù)

JSP EL 允許您在表達式中使用函數(shù)。這些函數(shù)必須被定義在自定義標簽庫中。函數(shù)的使用語法如下:

${ns:func(param1, param2, ...)}

ns 指的是命名空間(namespace),?func?指的是函數(shù)的名稱,?param1?指的是第一個參數(shù),?param2? 指的是第二個參數(shù),以此類推。比如,有函數(shù)?fn:length?,在 JSTL 庫中定義,可以像下面這樣來獲取一個字符串的長度:

${fn:length("Get my length")}

要使用任何標簽庫中的函數(shù),您需要將這些庫安裝在服務(wù)器中,然后使用??標簽在 JSP 文件中包含這些庫。

JSP EL隱含對象

JSP EL支持下表列出的隱含對象:

隱含對象 描述
pageScope page 作用域
requestScope request 作用域
sessionScope session 作用域
applicationScope application 作用域
param Request 對象的參數(shù),字符串
paramValues Request對象的參數(shù),字符串集合
header HTTP 信息頭,字符串
headerValues HTTP 信息頭,字符串集合
initParam 上下文初始化參數(shù)
cookie Cookie值
pageContext 當(dāng)前頁面的pageContext

您可以在表達式中使用這些對象,就像使用變量一樣。接下來會給出幾個例子來更好的理解這個概念。

pageContext對象

? pageContext? 對象是 JSP 中 ?pageContext? 對象的引用。通過 ?pageContext? 對象,您可以訪問 ?request? 對象。比如,訪問 ?request? 對象傳入的查詢字符串,就像這樣:

${pageContext.request.queryString}

Scope對象

? pageScope?,?requestScope?,?sessionScope?,?applicationScope? 變量用來訪問存儲在各個作用域?qū)哟蔚淖兞俊?/p>

舉例來說,如果您需要顯式訪問在 ?applicationScope? 層的 ?box ?變量,可以這樣來訪問: ?applicationScope.box?。

param和paramValues對象

? param? 和 ?paramValues? 對象用來訪問參數(shù)值,通過使用 ?request.getParameter? 方法和? request.getParameterValues? 方法。

舉例來說,訪問一個名為? order? 的參數(shù),可以這樣使用表達式:?${param.order}?,或者?${param["order"]}?。

接下來的例子表明了如何訪問 request 中的? username? 參數(shù):

<%@ page import="java.io.*,java.util.*" %>
<%     String title = "Accessing Request Param"; %>


<% out.print(title); %>


<% out.print(title); %>

${param["username"]}

param 對象返回單一的字符串,而 ?paramValues ?對象則返回一個字符串?dāng)?shù)組。

header和headerValues對象

? header? 和 ?headerValues ?對象用來訪問信息頭,通過使用 ?request.getHeader? 方法和?request.getHeaders? 方法。

舉例來說,要訪問一個名為 ?user-agent? 的信息頭,可以這樣使用表達式:?${header.user-agent}?,或者 ?${header["user-agent"]}?。

接下來的例子表明了如何訪問 ?user-agent? 信息頭:

<%@ page import="java.io.*,java.util.*" %>
<%     String title = "User Agent Example"; %>


<% out.print(title); %>


<% out.print(title); %>

${header["user-agent"]}

運行結(jié)果如下:

header對象返回單一值,而headerValues則返回一個字符串?dāng)?shù)組。


新聞標題:創(chuàng)新互聯(lián)JSP教程:JSP表達式語言
文章位置:http://www.5511xx.com/article/dhooggh.html