1. 程式人生 > >JSTL表示式與EL表示式

JSTL表示式與EL表示式

一、什麼是 EL 語言。

表示式語言(EL)是 JSP 2.0 引入的一種計算和輸出 Java 物件的簡單語音。

二、EL 語言的作用。

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

三、使用 EL 語言前的配置。

1、匯入standard.jar。
2、在需要使用 EL 語言的頁面加上<%@ page isELIgnored="false" %>


注意 <%@ page isELIgnored=”true” %> 表示是否禁用EL語言,TRUE表示禁止.FALSE表示不禁止.JSP2.0預設的啟用EL語言。
3、對於整個JSP應用程式,要修改WEB.XML配置(tomcat5.0.16預設是支援EL的)

<jsp-property-group>   
    <description> For config the ICW sample application </description>   
    <display-name>JSPConfiguration </display-name
>
<url-pattern>/jsp/datareset.jsp </url-pattern> <el-ignored>true< / el-ignored> < / el-ignored> <page-encoding>UTF-8</page-encoding> <scripting-invalid>true</scripting-invalid> <include-prelude>/jsp/prelude.jspf</include-prelude
>
<include-coda>/jsp/coda.jspf</include-coda> </jsp-property-group>

四、如何使用 EL 表示式。

1、EL 的內建物件。

首先我們要知道 EL 的內建物件有pageScoperequestScopesessionScopeapplicationScope,如果未指定scope,預設從 pageScopeapplicationScope查詢屬性名,也可以使用 xxxScope.屬性名 直接指定在某個 scope 查詢,如:

${ requestScope.tom }  

2、語法結構。

${expression}  

3、[ ]與.運算子。

EL 提供.[]兩種運算子來存取資料。
如:

${student.name}  
${studentList[0].name}  

當要存取的屬性名稱中包含一些特殊字元,如.或?等並非字母或數字的符號,就一定要使用[ ]。如:

${ student.My-Name}   <!-- ${ student.My-Name} 寫法不正確,應該改為下面這種 -->  
${ student["My-Name"] }  

如果要動態取值時,就可以用[ ]來做,而.無法做到動態取值。如:

${ sessionScope.student[property] }    <!-- 其中 property 是一個變數,動態取物件的屬性,如"id", "name"等等 -->  

4、使用 EL 取出內建物件的資料。

(1)、普通物件和物件屬性。

伺服器端:

request.setAttribute("student", student);  

在瀏覽器上打印出伺服器端繫結的資料:

${ student }  <!-- 相當於執行了 student.toString(); -->  
${ student.name }  <!-- 相當於執行了 student.getName(); -->  
${ student.teacher.name }  <!-- 相當於執行了 student.getTeacher().getName(); -->  

(2)、陣列中的資料。

伺服器端:

String[] nameArray = new String[]{"Tom", "Lucy", "Lilei"};  
request.setAttribute(“nameArray”,nameArray);  

Student[] students = new Student[3];  
students[0] = stu1;  
students[1] = stu2;  
students[2] = stu3;  
request.setAttribute(“students”,students);  

在瀏覽器上打印出伺服器端繫結的陣列資料:

${ nameArray[0] }   <!-- Tom --> 
${ nameArray[1] }   <!-- Lucy -->  
${ nameArray[2] }   <!-- Lilei -->  

${ students[0].id }   <!-- 輸出第一個學生的ID -->  
${ students[1].name }   <!-- 輸出第二個學生的name -->  
${ students[2].teacher.name }   <!-- 輸出第三個學生的老師的name -->  

(3)、List中的資料。

伺服器端:

List<Student> studentList=new ArrayList<Student>();  
studentList.add(stu1);  
studentList.add(stu2);  
studentList.add(stu3);  
request.setAttribute(“studentList”,studentList);  

在瀏覽器上打印出伺服器端繫結的List資料:

${ studentList[0].id }   <!-- 輸出第一個學生的ID -->  
${ studentList[1].name }   <!-- 輸出第二個學生的name -->  
${ studentList[2].teacher.name }   <!-- 輸出第三個學生的老師的name -->  

(4)、Map中的資料。

伺服器端:

Map<String, Student> studentMap = new HashMap<String, Student>();  
studentMap.put("Tom", stu1);  
studentMap.put("Lucy", stu2);  
studentMap.put("Lilei", stu3);  
request.setAttribute(“studentMap”,studentMap);  

在瀏覽器上打印出伺服器端繫結的Map資料:

${ studentMap.Tom.id }   <!-- 輸出第一個學生的ID -->  
${ studentMap.Lucy.name }   <!-- 輸出第二個學生的name -->  
${ studentMap.Lilei.teacher.name }   <!-- 輸出第三個學生的老師的name -->  

5、使用 EL 取出隱式物件中的資料。

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

隱式物件 作用
page Context JSP 頁的上下文
page Context JSP 頁的上下文。它可以用於訪問 JSP 隱式物件
param 將請求引數名稱對映到單個字串引數值
paramValues 將請求引數名稱對映到一個數值陣列
header 將請求頭名稱對映到單個字串頭值
headerValues 將請求頭名稱對映到一個數值陣列
cookie cookie 名稱對映到單個cookie 物件
initParam 將上下文初始化引數名稱對映到單個值
pageScope 將頁面範圍的變數名稱對映到其值
requestScope 將請求範圍的變數名稱對映到其值
sessionScope 將會話範圍的變數名稱對映到其值
applicationScope 將應用程式範圍的變數名稱對映到其值

五、EL 操作符

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

術語 定義
算術型 +-(二元)、*/div%mod-(一元)
邏輯型 and&&or、`
關係型 ==eq!=negt<=le>=ge。可以與其他值進行比較,或與布林型、字串型、整型或浮點型文字進行比較。
empty。空操作符是字首操作,可用於確定值是否為空。
條件型 A ?B :C。根據 A 賦值的結果來賦值 BC

六、什麼是 JSTL 表示式。

JSP 標準標記庫(JSP Standard Tag Library,JSTL)是一個實現 Web 應用程式中常見的通用功能的定製標記庫集,這些功能包括迭代和條件判斷、資料管理格式化、XML 操作以及資料庫訪問。

七、JSTL 表示式的作用。

JSTL標籤庫的使用是為類彌補html表的不足,規範自定義標籤的使用而誕生的。在告別modle1模式開發應用程式後,人們開始注重軟體的分層設計,不希望在jsp頁面中出現java邏輯程式碼,同時也由於自定義標籤的開發難度較大和不利於技術標準化產生了自定義標籤庫。JSTL標籤庫可分為5類:

  • 核心標籤庫
  • I18N格式化標籤庫
  • SQL標籤庫
  • XML標籤庫
  • 函式標籤庫

八、JSTL 表示式在頁面的配置。

1、匯入standard.jarjstl.jar

2、在JSP頁面上引入 JSTL 的引用。如:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

九、JSTL 的使用。

1、核心標籤庫

JSTL的核心標籤庫標籤共13個,從功能上可以分為4類:表示式控制標籤、流程控制標籤、迴圈標籤、URL操作標籤。使用這些標籤能夠完成JSP頁面的基本功能,減少編碼工作。如:

表示式控制標籤:out標籤、set標籤、remove標籤、catch標籤。
流程控制標籤:if標籤、choose標籤、when標籤、otherwise標籤。
迴圈標籤:forEach標籤、forTokens標籤。
URL操作標籤:import標籤、url標籤、redirect標籤。

1.1、表示式控制標籤。

(1)、<c:out>標籤:用來顯示資料物件(字串、表示式)的內容或結果。相當於 <% out.println(“字串”)%><%=表示式%>
語法如下:

[語法1]:

<c:out value=”要顯示的資料物件” [escapeXml=”true|false”] [default=”預設值”]>

[語法2]:

<c:out value=”要顯示的資料物件” [escapeXml=”true|false”]>預設值</c:out>

其中,
value:指定要輸出的變數或表示式。
escapeXml:設定是否轉換特殊字元。
default:為預設輸出結果。如果使用表示式得到的結果為null(注意與空區別),將會輸出預設結果。

(2)、<c:set>標籤:主要用於將變數存取於JSP範圍中或JavaBean屬性中。

[語法1]:

<c:set value="值1" var="name1" [scope="page|request|session|application"]>

把一個值放在指定(pagesession等)的map中。
[語法2]:

<c:set var=”name2” [scope=”page|request|session|application”]>  

把一個變數名為name2的變數儲存在指定的scope範圍內。
[語法3]:

<c:set value=”值3” target=”JavaBean物件” property=”屬性名”/>  

把一個值為“值3”賦值給指定的JavaBean的屬性名。相當與setter()方法。
[語法4]:

<c:set target=”JavaBean物件” property=”屬性名”>值4</c:set>  

把一個值4賦值給指定的JavaBean的屬性名。

(3)、<c:remove>標籤:主要用來從指定的JSP範圍內移除指定的變數。

[語法]:

<c:remove var=”變數名” [scope=”page|request|session|application”]/>  

其中var屬性是必須的,scope可以以省略。

(4)、<c:catch>標籤:用來處理JSP頁面中產生的異常,並將異常資訊儲存。
[語法]:

<c:catch var=”name1”>容易產生異常的程式碼</c:catch>

var表示由使用者定義存取異常資訊的變數的名稱。省略後也可以實現異常的捕獲,當就不能顯示的輸出異常資訊。

1.2、流程控制標籤。

流程控制標籤主要用於對頁面簡單業務邏輯進行控制。流程控制標籤包含有4個:<c:if>標籤、<c:choose>標籤、<c:when>標籤和<c:otherwise>標籤。下面將介紹這些標籤的功能和使用方式。

(1)、<c:if>標籤:同程式中的if作用相同,用來實現條件控制。

[語法1]:

<c:if test=”條件1” var=”name” [scope=”page|request|session|application”]>

[語法2]:

<c:if test=”條件2” var=”name” [scope=”page|request|session|application”]>結果2</c:if>

[引數說明]:
I、test屬性用於存放判斷的條件,一般使用EL表示式來編寫。
II、var指定名稱用來存放判斷的結果型別為truefalse
III、scope用來存放var屬性存放的範圍。

(2)、<c:choose><c:when><c:otherwise>標籤:這3個標籤通常情況下是一起使用的,<c:choose>標籤作為<c:when><c:otherwise>標籤的父標籤來使用。

[語法1]:3個標籤的巢狀使用方式,<c:choose>標籤只能和<c:when>標籤共同使用。如:

<c:choose>  
    <c:when test="條件1">  
        …..//業務邏輯1  
    </c:when>  
    <c:when test="條件2">  
        …..//業務邏輯2  
    </c:when>  
    <span style="white-space: pre;">    </span><c:otherwise>  
        …..//業務邏輯3  
    </c:otherwise>  
</c:choose>  

[語法2]:<c:when>標籤的使用方式,該標籤都條件進行判斷,一般情況下和<c:choose>共同使用。如:

<c:when text=”條件”>  
    表示式  
</c:when>  

[語法3]:<c:otherwise>不含有引數,只能跟<c:when>共同使用,並且在巢狀中只允許出現一次。如:

<c:otherwise>  
    表示式  
</c:otherwise>  

1.3、迴圈標籤。

迴圈標籤主要實現迭代操作。主要包含兩個標籤:<c:forEach><c:forTokens>標籤,接下來將詳細介紹這兩個標籤的用法。

(1)、標籤:該標籤根據迴圈條件遍歷集合(Collection)中的元素。

[語法]:

<c:forEach var=”name” items=”Collection” varStatus=”StatusName” begin=”begin” end=”end” step=”step”>  
    所有內容  
</c:forEach>  

[引數解析]:
I、var設定變數名用於儲存從集合中取出元素。
I、items指定要遍歷的集合。
III、varStatus設定變數名,該變數用於存放集合中元素的資訊。
IV、beginend用於指定遍歷的起始位置和終止位置(可選)。
V、step指定迴圈的步長。

[迴圈標籤屬性說明]:

名稱 EL 型別 是否必須 預設值
var N String
items Y Arrays``Collection``Iterator``Enumeration``Map``String []args
begin Y int 0
end Y int 集合中最後一個元素
step Y int 1
varStatus N String

其中varStatus有4個狀態屬性,如下:

屬性名 型別 說明
index int 當前迴圈的索引值
count int 迴圈的次數
frist boolean 是否為第一個位置
last boolean 是否為第二個位置

(2)、標籤:該標籤用於瀏覽字串,並根據指定的字元將字串擷取。

[語法]:

<c:forTokens items=”strigOfTokens” delims=””delimiters [var=”name” begin=”begin” end=”end” step=”len” varStatus=”statusName”] >  

[引數說明]
I、items指定被迭代的字串。
II、delims指定使用的分隔符。
III、var指定用來存放遍歷到的成員。
IV、begin指定遍歷的開始位置(int型從取值0開始)。
V、end指定遍歷結束的位置(int型,預設集合中最後一個元素)。
VI、step遍歷的步長(大於0的整型)。
VII、varStatus存放遍歷到的成員的狀態資訊。

注:<c:forToken>的屬性varStatus的使用同<c:forEach>的使用方法相同,在此就再不表述。

1.4、URL操作標籤。

JSTL包含3個與URL操作有關的標籤,分別為:<c:import><c:redirect><c:url>標籤。它們的作用為:顯示其他檔案的內容、網頁導向、產生URL。下面將詳細介紹這3個標籤的使用方法。

(1)、<c:import>標籤:該標籤可以把其他靜態或動態檔案包含到本JSP頁面。同<jsp:include>的區別為:只能包含同一個web應用中的檔案。而<c:import>可以包含其他web應用中的檔案,甚至是網路上的資源。

[語法1]:

<c:import url=”url” [context=”context”][ value=”value”][scope=”page|request|session|application”] [charEncoding=”encoding”]>  

[語法2]:

<c:import url=”url” varReader=”name” [context=”context”][charEncoding=”encoding”]>  

標籤引數說明。

名稱 說明 EL 型別 必須 預設值
url 被匯入資源的URL路徑 Y String
context 相同伺服器下其他的web工程,必須以“””開頭 Y String
var 以String型別存入被包含檔案的內容。 N String
Scope var變數的JSP範圍 N String page
charEncoding 被匯入檔案的編碼格式 Y String
varReader 以Reader型別儲存被包含檔案內容 N String

[引數說明]:
I、URL為資源的路徑,當應用的資源不存在時系統會丟擲異常,因此該語句應該放在<c:catch></c:catch>語句塊中捕獲。應用資源有兩種方式:絕對路徑和相對路徑。使用絕對路徑示例如下:

<c:import url=”http://www.baidu.com”>  

使用相對路徑的例項如下:

<c:import url=”aa.txt”>  

aa.txt放在同一檔案目錄。
如果以“/”開頭表示應用的根目錄下。例如:tomcat應用程式的根目錄資料夾為webapps。匯入webapps下的檔案bb.txt的編寫方式為:

<c:import url=/bb.txt”>  

如果訪問webapps管理資料夾中其他web應用就要用context屬性。
II、context屬性用於在訪問其他web應用的檔案時,指定根目錄。例如,訪問root下的index.jsp的實現程式碼為:

<c:import url=/index.jspcontext=/root”>  

等同於webapps/root/index.jsp
III、var 屬性表示為資源起的別名。
IV、scope 屬性標識該資源訪問的範圍。
V、charEncoding 屬性標識該資源的編碼方式。
VI、varReader 這個引數的型別是Reader,用於讀取資源。

(2)、<c:redirect>標籤:用來實現了請求的重定向。同時可以在url中加入指定的引數。例如:對使用者輸入的使用者名稱和密碼進行驗證,如果驗證不成功重定向到登入頁面;或者實現web應用不同模組之間的銜接。
[語法1]:

<c:redirect url=”url” [context=”context”]>  

[語法2]:

<c:redirect url=”url”[context=”context”]>  
    <c:param name=”name1” value=”value1”>  
</c:redirect>  

[引數說明]:
I、url 指定重定向頁面的地址,可以是一個string型別的絕對地址或相對地址。
II、context
用於匯入其他web應用中的頁面。

(3)、<c:url>標籤:該標籤用於動態生成一個String型別的URL,可以同<c:redirect>標籤共同使用,也可以使用html的標籤實現超連結。

[語法1]:指定一個url不做修改,可以選擇把該url儲存在JSP不同的範圍中。

<c:url value=”value” [var=”name”][scope=”page|request|session|application”][context=”context”]/>  

[語法2]:給url加上指定引數及引數值,可以選擇以name儲存該url。

<c:url value=”value” [var=”name”][scope=”page|request|session|application”][context=”context”]>  
    <c:param name=”引數名” value=”值”>  
</c:url>  

2、I18N格式標籤庫

JSTL標籤提供了對國際化(I18N)的支援,它可以根據發出請求的客戶端地域的不同來顯示不同的語言。同時還提供了格式化資料和日期的方法。實現這些功能需要I18N格式標籤庫(I18N-capable formation tags liberary)。引入該標籤庫的方法為:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>  

I18N格式標籤庫提供了11個標籤,這些 標籤從功能上可以劃分為3類如下:

數字日期格式化。formatNumber標籤、formatData標籤、parseNumber標籤、parseDate標籤、timeZone標籤、setTimeZone標籤。
讀取訊息資源。bundle標籤、message標籤、setBundle標籤。
國際化。setlocale標籤、requestEncoding標籤。

接下將詳細介紹這些標籤的功能和使用方式。

2.1、數字日期格式化標籤:數字日期格式化標籤共有6個,用來將數字或日期轉換成設定的格式。

[語法1]:

<frm:formatNumber value=”被格式化的資料”[type=”number|currency|percent”]  
    [pattern=”pattern”]  
    [currencyCode=”code”]  
    [currencySymbol=”symbol”]  
    [groupingUsed=”true|false”]  
    [maxIntergerDigits=”maxDigits”]  
    [minIntergerDigits=”minDigits”]  
    [maxFractionDigits=”maxDigits”]  
    [minFractionDigits=”minDigits”]  
    [var=”name”]  
    [scope=page|request|session|application]   
/>  

[語法2]:

<frm:formatNumber [type=”number|currency|percent”]  
    [pattern=”pattern”]  
    [currencyCode=”code”]  
    [currencySymbol=”symbol”]  
    [groupingUsed=”true|false”]  
    [maxIntergerDigits=”maxDigits”]  
    [minIntergerDigits=”minDigits”]  
    [maxFractionDigits=”maxDigits”]  
    [minFractionDigits=”minDigits”]  
    [var=”name”][scope=page|request|session|application]   
/>   

標籤引數說明:

名稱 說明 EL 型別 必須 預設值
value 要格式化的資料 String
type 指定型別(單位、貨幣、百分比等)見表 String number
pattern 格式化的資料樣式 String
currencyCode 貨幣單位程式碼 String
cuttencySymbol 貨幣符號($、¥) String
groupingUsed 是否對整數部分進行分組如(9,999) boolean true
maxIntergerDigits 整數部分最對顯示多少位數 int
minIntergerDigits 整數部分最少顯示多少位 int
maxFractionDigits 小數部分最多顯示多少位 int
minFractionDigits 小數部分最少顯示多少位 int
var 儲存格式化後的資料 String
scope var的JSP範圍 String page

Type屬性的型別應用見表:

型別 說明 示例
number 數字格式 0.8
currency 當地貨幣 ¥0.80
percent 百分比格式 80%

2.2、<frm:parseNumber>標籤:將格式化後的數字、貨幣、百分比都轉化為數字型別。

[語法1]:

<fmt:parseNumber value="number" [type=”number|currency|percent”]
    [pattern=”pattern”]
    [parseLocale=”locale”]
    [intergerOnly=”true|false”]
    [scope=page|request|session|application”]
/>

[語法2]:

<fmt:parseNumber [type=”number|currency|percent”]
    [pattern=”pattern”]
    [parseLocale=”locale”]
    [intergerOnly=”true|false”]
    [scope=”page|request|session|application”]>
Number
</fmt:parseNumber>

<fmt:parseNumber>標籤引數說明:

名稱 說明 EL 型別 是否必須 預設值
value 被解析的字串 String
type 指定單位(數字、貨幣、百分比) String number
pattern 格式樣式 String
parseLocale 用來替代預設區域的設定 StringJava.util.``Locale 預設本地樣式
var 儲存已經格式化的資料 String
scope var變數的作用域 String page

<fmt:parseNumber>可以看作是<fmt:formatNumber>的逆運算。相應的引數和型別的配置和使用<fmt:formatNumber>格式化時相同。

2.3、標籤:該標籤主要用來格式化日期和時間。

[語法]:

<fmt: formatDate value=”date” [type=”time|date|both”]  
    [pattern=”pattern”]  
    [dateStyle=”default|short|medium|long|full”]  
    [timeStyle=”default|short|medium|long|full”]  
    [timeZone=”timeZone”]  
    [var=”name”]  
    [scope=”page|request|session|application”]  
/>

<fmt:formatDate>標籤屬性說明:

屬性名 說明 EL 型別 必須 預設值
value 將要格式化的日期物件。 Java.util.Date
type 顯示的部分(日期、時間或者兩者)。 String date
partten 格式化的樣式。 String
dateStyle 設定日期的顯示方式。 String default
timeStyle 設定時間的顯示方式。 String default
timeZone 設定使用的時區。 String 當地所用時區
var 儲存已格式化的日期或時間。 String
scope 指定var儲存的JSP範圍。 String

其中type屬性引數說明見表:

引數名 說明
time 只顯示時間
date 只顯示時期
both 顯示日期和時間

2.4、<fmt:parseDate>標籤:主要將字串型別的時間或日期轉化為時間或日期物件。

[語法1]:

<fmt:parseDate value=”date” [type=”time|date|both”]  
    [pattern=”pattern”]  
    [parseLocale=”locale”]  
    [dateStyle=”default|short|medium|long|full”]  
    [timeStyle=”default|short|medium|long|full”]  
    [timeZone=”timezone”]  
    [var=”name”]  
    [scope=”page|request|session|application”]  
/>

[語法2]:

<fmt:parseDate [type=”time|date|both”]  
    [pattern=”pattern”]  
    [parseLocale=”locale”]  
    [dateStyle=”default|short|medium|long|full”]  
    [timeStyle=”default|short|medium|long|full”]  
    [timeZone=”timezone”]  
    [var=”name”]  
    [scope=”page|request|session|application”]>   
    Date  
</fmt:parseDate>

<fmt:parseData>標籤屬性說明:

屬性名 說明 EL 型別 必須 預設值
value 將要格式化的日期時間 String
type 字串的型別(日期、時間或全部) EL String date
pattern 字串使用的時間樣式 String
parseLocale 取代預設地區設定 String 預設地區
dateStyle 字串使用的日期顯示方式 String default
timeStyle 字串使用的時間顯示格式 String default
timeZone 使用的時區 String 當地區時
var 使用var定義的名字儲存物件 String
scope var的JSP範圍 String page

2.5、<fmt:setTimeZone>標籤:該標籤用於設定預設時區或者將時區儲存在指定的JSP範圍內。

[語法]:

<fmt:timeZone value=”timeZone”>  
    …..  
</fmt:timeZone>  

使用<fmt:timeZone></fmt:timeZone>只會應用到標籤體內使用的時區,對標籤外部將不產生影響。

相關推薦

JSTL標籤EL表示式

之前經常在一些前端程式碼中會遇到JSTL標籤以及EL表示式,時常因此對整個頁面看得一知半解,這次突然想到進一步瞭解一下此二者,因此專門上網上找了一些文章進行閱讀,增進了解。 JSTL標籤與EL表示式 1、JSTL標籤 來源:部落格園 https://www.cnblogs.com/Fskjb

Java學習——JSTL標籤EL表示式之間的微妙關係

       很高興,今天能和大家分享剛學的一些新知識。我們在java開發過程中經常會在jsp中嵌入一些java程式碼,比如<%=request.getParameter("id")%>

JSTL表示式EL表示式

一、什麼是 EL 語言。 表示式語言(EL)是 JSP 2.0 引入的一種計算和輸出 Java 物件的簡單語音。 二、EL 語言的作用。 為了使JSP寫起來更加簡單。表示式語言的靈感來自於ECMAScript和XPath表示式語言,它提供了在JSP中簡

JavaWeb學習筆記及案例(一)JSPEL表示式JSTL

1.JSP 1.1JSP的三大指令 page include taglib 指令的寫法 <%@ 指令名字 %> 1.1.1jsp的page指令 1.extends 用於指定jsp翻譯成java檔案後,繼承的父類是誰,一般不改 2.s

JSTLEL表示式(為空判斷)

一、迴圈遍歷集合 3、如何使用jstl判斷集合是否為空 ${user}為集合,user為集合名 <c:if test="${empty user}">無資訊!</c:if&

JSTLEL表示式

迴圈遍歷集合 1、在jsp中引入標準函式宣告<span style="font-size:14px;"><%@ taglib uri="http://java.sun.com/jsp

javaweb基礎整理隨筆------jstlel表示式

雖然jsp中可以寫java程式碼,但是現在不推薦這麼做。 jsp雖然本質是servlet,但是主要作用只是檢視,檢視的任務就是顯示響應,而不是在JSP中做任何關於程式控制和業務邏輯的事情。所以在JSP頁面中應該儘可能少的、或者是完全不出現Java程式碼。 JSP標準動作中沒有提供這種巢狀式訪問機制,所以要想實

freemarker的基本標籤的使用el表示式比較

${selectDto.stuName?ifExists}相當於el表示式的${selectDto.stuName} 設定單選框在selectDto.exact==1時選中 ${(selectDto.exact==1)?string("checked","")}相當於el表

Servlet之實現增刪改查操作EL表示式

這個嘛...可以做很多變形,這裡的操作主要針對作用域屬性的值,實際應用中可以改為針對jdbc資料庫的操作。 先看看EL表示式 <%@ page language="java" import="java.util.*,test.lindl.bean.Dog" page

Struts標籤、Ognl表示式el表示式jstl標籤庫這四者之間的關係和各自作用

我之前雖然會用,但是一直分不清彼此之間有什麼區別,所以查詢資料,將它們進行整合區分,加深瞭解, 一 介紹 1.Struts2的作用    Struts2標籤庫提供了主題、模板支援,極大地簡化了檢視頁面的編寫,而且,struts2的主題、模板都提供了很好的擴充套件性。實現了更

JSPEL表示式

EL表示式作用:      1.主要用於獲取資料物件或變數值                      EL表示式主要用於替代JSP頁面的指令碼表示式(<%=expression%),以從各種型別的web域中檢索java物件      2.在JSP頁面執行一些基本關係

11月20日面試題分析EL表示式培訓日記

今天新班開學典禮,我必須出席,所以,上午安排這個班的學員們練習昨天講解的SimpleFormController。一兩個學員瞞著我,外出找公司面試了幾把,最後問了我幾道令他們心虛的幾道面試題,下午我先為大家分析了這幾道面試題:1.在使用new關鍵字建立某個類的例項物件時,構造

jsp中jstl中的EL表示式不支援問題

問題所在:“value” dose not support runtime expressions 原因:匯入的jstl標籤有誤,注意匯入的是http://java.sun.com/jsp/jstl/core

JSTL標籤結合EL表示式——java web前端瘦身器

JSP Standard Tag Library 標準標籤庫:      Model 1 開發模式採用jsp 內嵌java 程式碼的方式實現業務邏輯與前臺頁面的互動,這樣雖然使得前臺呼叫業務簡單,卻也

struts2值棧、struts2標籤、ONGL表示式EL表示式JSTL表示式、jsp標籤

1.struts2值棧: (1) ValueStack是Struts2的一個介面,字面意義為值棧,OgnlValueStack是 ValueStack的實現類,客 戶端發起一個請求,struts2架構會建立一個action例項同時建立一個OgnlValueStack值棧

中綴表示式字尾表示式之間的互轉及求值

中綴表示式:常見的運算表示式,如(3+4)×5-6 字首表示式又稱波蘭式:運算子位於運算元之前,比如:- × + 3 4 5 6 字尾表示式又稱逆波蘭表示式:與字首表示式相似,只是運算子位於運算元之後,如:3 4 + 5 × 6 - 中綴表示式轉字尾表示式

struts2進階二---OGNL表示式OGNL表示式在struts2中的運用

OGNL(物件檢視導航語言)表示式 (EL表示式就是) OGNL不僅僅可以檢視導航還支援比EL表示式更加豐富的功能 使用: 準備工作1:導包(struts包裡面已經有了) 準備工作2: ognl基本語法: 1:取值 取出root中的屬性值

EL 表示式EL 表示式中巢狀 EL 表示式

需求 需要從一個文章集合中根據不同的標籤取出文章,第一篇文章用第一個標籤,第二篇文章用第二個標籤 原有思路 <c:forEach items="${articles}" var="article" varStatus="ids"> <img

【資料結構】棧的應用---四則運算表示式求值(中綴表示式字尾表示式轉換)

用計算機實現帶括號的四則運算的方式。 這裡的困難在於乘除運算的優先順序高於加減運算,並且加入了括號,使得問題變得更加困難。 20世紀50年代,波蘭邏輯學家想到了一種不需要括號的字尾表達法,我們也把它稱為逆波蘭表示。 比如:9+(3-1)*3+10/2,如果

Angularjs表示式JavaScript表示式的區別

ng的表示式除了下面幾點之外非常類似於js表示式 執行環境。js表示式的執行環境是在全域性作用域中,即window物件。ng表示式的執行環境則是在一個scope物件中執行。Forgiving(報錯?):在js中嘗試給一個未宣告的屬性賦值會丟擲引用異常(ReferenceE