1. 程式人生 > >JSP EL表示式的詳細介紹

JSP EL表示式的詳細介紹

一 、JSP EL語言定義

E L(Expression Language)  目的:為了使JSP寫起來更加簡單。

表示式語言的靈感來自於 ECMAScript 和 XPath 表示式語言,它提供了在 JSP 中簡化表示式的方法。它是一種簡單的語言,基於可用的名稱空間(PageContext 屬性)、巢狀屬性和對集合、操作符(算術型、關係型和邏輯型)的訪問符、對映到 Java 類中靜態方法的可擴充套件函式以及一組隱式物件。

EL 提供了在 JSP 指令碼編制元素範圍外使用執行時表示式的功能。指令碼編制元素是指頁面中能夠用於在 JSP 檔案中嵌入 Java 程式碼的元素。它們通常用於物件操作以及執行那些影響所生成內容的計算。JSP 2.0 將 EL 表示式新增為一種指令碼編制元素。

二、JSP EL簡介

1、語法結構
     ${expression}
2、[ ]與.運算子
     EL 提供“.“和“[ ]“兩種運算子來存取資料。
     當要存取的屬性名稱中包含一些特殊字元,如.或?等並非字母或數字的符號,就一定要使用“[ ]“。例如:
         ${user.My-Name}應當改為${user["My-Name"] }
     如果要動態取值時,就可以用“[ ]“來做,而“.“無法做到動態取值。例如:
         ${sessionScope.user[data]}中data 是一個變數

3、變數
     EL存取變數資料的方法很簡單,例如:${username}。它的意思是取出某一範圍中名稱為username的變數。
     因為我們並沒有指定哪一個範圍的username,所以它會依序從Page、Request、Session、Application範圍查詢。
     假如途中找到username,就直接回傳,不再繼續找下去,但是假如全部的範圍都沒有找到時,就回傳null。
     屬性範圍在EL中的名稱
         Page          PageScope
         Request          RequestScope
         Session          SessionScope
         Application      ApplicationScope

二、JSP EL 中的有效表示式

       有效表示式可以包含文字、操作符、變數(物件引用)和函式呼叫。我們將分別瞭解這些有效表示式中的每一種:

1、文字

JSP 表示式語言定義可在表示式中使用的以下文字:

2、操作符

JSP 表示式語言提供以下操作符,其中大部分是 Java 中常用的操作符:

3、隱式物件

JSP 表示式語言定義了一組隱式物件,其中許多物件在 JSP scriplet 和表示式中可用:

此外,還提供幾個隱式物件,允許對以下物件進行簡易訪問:

除了上述兩種型別的隱式物件之外,還有些物件允許訪問多種範圍的變數,如 Web 上下文、會話、請求、頁面:

三、特別強調:

1、注意當表示式根據名稱引用這些物件之一時,返回的是相應的物件而不是相應的屬性。例如:即使現有的 pageContext 屬性包含某些其他值,${pageContext} 也返回 PageContext 物件。

2、 注意 <%@ page isELIgnored="true" %> 表示是否禁用EL語言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中預設的啟用EL語言。

四、舉例說明

1、例如,

      < %=request.getParameter(“username”)% >       等價於       ${ param.username }

2、例如,但是下面的那句EL語言可以完成如果得到一個username為空,則不顯示null,而是不顯示值。

<%=user.getAddr( ) %>      等價於     ${user.addr}。

3、例如:

<% =request.getAttribute(“userlist”) %>     等價於$     { requestScope.userlist }

4、例如,原理如上例3。

${ sessionScope.userlist } 1

${ sessionScope.userlist } 2

${ applicationScope.userlist } 3 

${ pageScope.userlist } 4

${uselist} 含義:執行順序為4 1 2 3。

“.”後面的只是一個字串,並不是真正的內建物件,不能呼叫物件。

4、例如,

   <%=user.getAddr( ) %>      等價於     ${user.addr}

   第一句前面的user,為一個變數。

   第二句後面user,必須為在某一個範圍裡的屬性。

相關推薦

JSP EL表示式詳細介紹

一、JSP EL語言定義 E L(Expression Language) 目的:為了使JSP寫起來更加簡單。 表示式語言的靈感來自於 ECMAScript 和 XPath 表示式語言,它提供了在 JSP 中簡化表示式的方法。它是一種簡單的語言,基於可用的名稱空間(Pa

JSP EL表示式詳細介紹

一 、JSP EL語言定義 E L(Expression Language)  目的:為了使JSP寫起來更加簡單。 表示式語言的靈感來自於 ECMAScript 和 XPath 表示式語言,它提供了在 JSP 中簡化表示式的方法。它是一種簡單的語言,基於可用的名稱空間(P

jsp EL表示式和JSTL

課程內容 1.servlet—->jsp 2.EL表示式 3.JSTL 課堂筆記 一、Servlet—jsp 二、EL表示式 User rs = request.getAttribute(“rsNew”) <%=rs

javaweb jsp&el表示式&jstl 解析

JSP & EL & JSTL jsp Java Server Page 什麼是jsp 從使用者角度看待 ,就是是一個網頁 , 從程式設計師角度看待 , 其實是一個java類, 它繼承了servlet,所以可以直接說jsp 就是一個Se

java web javaEE ,jsp EL表示式和JSTL標籤if-else if-else四種用法

一.條件運算子${user.gender==1?'男':'女'}二.if()<c:if test="${2>1}">code..</c:if>code會在test屬性為true時執行三.if()-else{}<c:choose>  &

JSP+EL表示式學習

    jsp是可以在傳統 HTML頁面插入java程式碼   1.JSP原理          (1)當用戶訪問一個JSP頁面時,回想一個Servlet容器(Tomcat)發出請求;        (2)如果是第一次請求頁面,或頁面有所改動,則servlet容器首先要把JSP頁面(假設為test.jsp)

JSP EL表示式獲取資料

EL表示式基本格式:${} EL表示式只能獲取4大域裡面的引數:(page,request,sission,applition) EL表示式要獲取資料的格式:${p}     p是4大域裡獲取的引數 <jsp:useBean id="p" class="domain

jsp EL表示式 11個隱含物件

lEL表示式語言中定義了11個隱含物件,使用這些隱含物件可以很方便地獲取web開發中的一些常見物件,並讀取這些物件的資料。 l語法:${隱式物件名稱}  :獲得物件的引用 隱含物件名稱 描       述 pageContext 對應於JSP頁面中的pag

[JSP]EL表示式和JSTL標籤遍歷取值物件和陣列與原來的對比

》》取出放進了request的key裡list,list含有物件 原: <%@page import="com.yiki.dbutil.*"%> <%@ page languag

JSP---EL表示式中文亂碼(Tomcat伺服器)解決方法

JSP和Servlet傳值時,使用EL表示式經常出現中文亂碼問題 解決方法如下: 1.找到apache-tomcat的資料夾所在處,例如E盤. 2.開啟E:\apache-tomcat-6.0.30\

JSP&&EL表示式

1EL表示式 2.1簡介 EL表示式替代jsp表示式,因為開發jsp頁面的時候遵守原則:在jsp頁面中儘量少寫甚至不寫java程式碼。 EL表示式作用: 向瀏覽器輸出域物件中的變數或表示式計算結果

jsp el表示式跳轉servlet空指標問題

今天在學el表示式的時候發現了個非常非常無語的問題,jsp跳轉到servlet的時候出現了空指標,結果我一行一行的找到一個字元一個字元的找,終於找到了問題,,,<input type="hidden" name="id" value="${contact.id } "/

菜鳥程式猿之JSP+EL表示式

一、JSP 1.jsp介紹    是SUN公司提供動態的web技術之一。Servlet顯示功能時,非常麻煩,編寫與程式碼維護非常麻煩;    通過檢視..\apache-tomcat-7.0.53\work\...\index_jsp.java發現該類繼承了org.apach

程式中JSP EL表示式沒有執行的可能原因

1. 應用程式伺服器不支援JSP2.0 2. web.xml中沒有宣告Servlet 2.4或更高 3. JSP頁面中使用<%@page %>設定了isELIgnored=true 4. web.xml中<jsp-config>中配置了<el-

JavaWeb基礎Day17 (JSP EL表示式 jstl標籤庫 beanutil工具類)

JSP jsp的實質就是指在html介面中嵌入Java程式碼 jsp指令碼 <%  Java程式碼  %>  相當於寫在service方法中。 <%=java 變數或者表示式 %> 相當於在service 內部寫了  out.println

JSP第四篇【EL表示式介紹、獲取各類資料、11個內建物件、執行運算、回顯資料、自定義函式、fn方法庫】

什麼是EL表示式? 表示式語言(Expression Language,EL),EL表示式是用”${}”括起來的指令碼,用來更方便的讀取物件! EL表示式主要用來讀取資料,進行內容的顯示!

【Web篇05】JSPJSP表示式JSP四個域、EL表示式EL四個域 之間的區別

一、JSP Java ServerPages,即java伺服器頁面,本質是Servelt,存放在伺服器中,用於頁面顯示; 它的主要構成有HTML網頁程式碼、Java程式碼片段、JSP標籤幾部分組成,字尾是.jsp。 (1)JSP指令碼元素:是嵌入到JSP中Java程式碼段,格式以**<

jspel表示式的隱式物件 + 作用域

jsp 隱式物件  config      jsp的配置資訊 page        jsp自身物件(this) exception   異常物件(isErrorPage=true) response

JSP、JavaBean以及EL表示式

1 JSP 1.1 JSP頁面註釋 HTML的註釋,不會消失,可以在瀏覽器中通過檢視原始碼看到 <!-- 註釋 --> JSP註釋:轉化階段就會消失,只能被開發人員看到 <%-- JSP註釋 --%> Java註釋:編譯階段會消

jsp頁面中el表示式不生效

問題描述: el表示式不進行解析,直接輸出${}在頁面上 解決方案: 第一種:     Servlet2.3預設是不支援EL表示式的,Servlet2.4預設支援,可以修改web.xml中的web-app標籤下的version屬性為2.4即可解決 第二種: