1. 程式人生 > >JSTL核心標籤庫和EL表示式的聯合使用

JSTL核心標籤庫和EL表示式的聯合使用

10.2  使用EL表示式顯示String型別變數的示例

在Servlet檔案中使用以下程式碼:將String變數存入到request作用域中。

  1. String simple_string_username = "gaohongyan";  
  2. request.setAttribute("simple_string_username", simple_string_username); 

在JSP檔案中:使用simple_string_username value=${simple_string_username }顯示request中的變數simple_string_username,而這個變數是在Servlet中存入request的。

EL表示式的使用非常簡單,格式為"${}",大括號"{}"中為表示式,在本例中是在request作用域中的字串變數。

顯示結果為:

  1. simple_string_username value=gaohongyan 

10.3  使用EL表示式顯示ArrayList儲存String型別變數的示例

在Servlet檔案中:

  1. // 往AL中放入String型別
  2. ArrayList al_simple_string = new ArrayList();  
  3. al_simple_string.add("simple_string1");  
  4. al_simple_string.add("simple_string2"
    );  
  5. request.setAttribute("al_simple_string", al_simple_string); 

在JSP檔案中:

  1. al_simple_string[0]=${al_simple_string[0]}  
  2. al_simple_string[1]=${al_simple_string[1]} 

因為變數al_simple_string是一個數組列表型別(ArrayList),其中儲存的是String型別資料值。可以通過像Java語言的下標的形式取出指定下標元素的資料值,並顯示出來。

顯示結果為:

  1. al_simple_string[0]=simple_string1   
  2. al_simple_string[1]=simple_string2 

10.4  使用EL表示式顯示ArrayList儲存bean類型別變數的示例

在Servlet檔案中:

  1. // 往AL中放入複雜型別(bean)
  2.     Student Student1 = new Student();  
  3.     Student1.setUsername("gaohongyan1");  
  4.     Student Student2 = new Student();  
  5.     Student2.setUsername("gaohongyan2");  
  6.     ArrayList al_simple_bean = new ArrayList();  
  7.     al_simple_bean.add(Student1);  
  8.     al_simple_bean.add(Student2);  
  9.     request.setAttribute("al_simple_bean", al_simple_bean); 

ArrayList裡面儲存的是bean的例項,即複雜資料型別。Student的程式碼在前面已經列出,其實是一個只有username和age屬性的class,並且有對應的set和get方法。

在JSP檔案中:

  1. al_simple_bean[0]的username的值:${al_simple_bean[0]['username']}  
  2. al_simple_bean[1]的username的值:${al_simple_bean[1]['username']}  
  3. al_simple_bean[0]的age的值:${al_simple_bean[0]['age']} 

由於al_simple_bean是ArrayList型別,並且每一個位置儲存的是一個bean,所以想訪問username必須取得每一個ArrayList元素中的bean,這樣可以通過下載的方法來取得。通過下標得出的資料型別是一個Student類的例項,然後就可以通過方括號裡面帶單引號([''])的形式來訪問bean的property屬性了。

顯示結果為:

  1. al_simple_bean[0]的username的值:gaohongyan1   
  2. al_simple_bean[1]的username的值:gaohongyan2   
  3. al_simple_bean[0]的age的值:0

10.5  使用JSTL中的c:out標籤顯示String型別變數的示例

在Servlet檔案中:

  1. // 放入String型別,用c:out輸出
  2. String c_out_simple_string = "hello beijing 2008";  
  3. request.setAttribute("c_out_simple_string", c_out_simple_string); 

在JSP檔案中:

  1. c_out_simple_string的值是:  
  2. <c:out value=< span="">"${c_out_simple_string}"> 

<c:out>標籤是JSTL的核心標籤庫中的一員,使用非常普遍且非常簡單。在本示例中只使用c:out標籤的value屬性,value屬性值的來源是EL表示式,通過EL表示式取出變數c_out_simple_string的值賦給c:out標籤的value屬性,然後通過c:out標籤顯示出來。

顯示結果為:

  1. c_out_simple_string的值是: hello beijing 200
【責任編輯:雲霞 TEL:(010)68476606】

10.6  使用JSTL標籤顯示bean中屬性的示例

在Servlet檔案中:

  1. // 往request中放入複雜型別
  2. Student Student_complex = new Student();  
  3. Student_complex.setUsername("Student_complex");  
  4. request.setAttribute("Student_complex", Student_complex); 

將Student的例項存放到request作用域中。

在JSP檔案中:

  1. c_out輸出複雜型別的屬性值為:<c:out value="$
    {Student_complex['username']}"
    ></c:out> 

由於Student_complex是一個bean的例項,要想訪問bean的屬性,只需要使用方括號加單引號(如['propertyName'])的形式來訪問屬性的值,自動呼叫屬性的get方法,然後通過c:out標籤顯示出來。

顯示結果為:

c_out輸出複雜型別的屬性值為:Student_complex

10.7  使用JSTL標籤對null和""在預設值上的區別

在Servlet檔案中2個變數的值分別為null和"":

  1. // default_null default_nil的情況
  2. String default_null = null;  
  3. String default_nil = "";  
  4. request.setAttribute("default_null", default_null);  
  5. request.setAttribute("default_nil", default_nil); 

在JSP檔案中:

default_null的值是:

  1. <c:out value="${default_null}"default="this is null"></c:out>  
  2. <br /> 

default_nil的值是:

  1. <c:out value="${default_nil}"default="this is nil"></c:out>  
  2. <br /> 

用BODY來代替default屬性:

  1. <c:out value="${default_null}">this is null too</c:out> 

從JSP的JSTL程式碼中可以看到,c:out標籤使用了default屬性,如果值為空則把default的值顯示出來,那麼這個"空"到底是指null還是""呢?看一下結果吧。

顯示結果為:

default_null的值是:this is null

default_nil的值是:this is nil

用BODY來代替default屬性:this is null too

從結果中可以看到,這個default中的值對null有效,而對""無效。

10.8  使用JSTL標籤顯示線上編輯器的內容(fckeditor)

在Servlet檔案中:

使用c:out標籤顯示出線上編輯器的程式碼:

  1. <c:out value=< span="">"${fckeditor}" escapeXml="false">  
  2. 使用c:out標籤顯示jstl標記(1):  
  3. <c:out value=< span="">"out" escapeXml="false">  
  4. 使用c:out標籤顯示jstl標記(2):  
  5. <c:out value=< span="">"out">  
  6. EL表示式的計算+-*/%:  
  7. <c:out value=< span="">"${3+1}"> 

在這裡只是模擬從資料庫中將線上編輯器中的內容賦值給一個String變數,然後將這個變數放到request中,準備顯示出來。

在JSP檔案中:

  1. //用c:out標籤顯示出線上編輯器的程式碼:
  2. <c:out value=< span="">"${fckeditor}" escapeXml="false"> 

在這裡使用c:out標籤的escapeXml屬性來進行"< >"符號的轉義,要設定為false。

顯示結果為:

  1. 使用c:out標籤顯示出線上編輯器的程式碼:www.sohu.com   
  2. 使用c:out標籤顯示jstl標記(1):out   
  3. 使用c:out標籤顯示jstl標記(2):out   
  4. EL表示式的計算+-*/%:4
【責任編輯:雲霞 TEL:(010)68476606】

10.9  使用JSTL標籤和EL表示式通過變數顯示屬性的值

在Servlet檔案中:

  1. // 通過變數的值來訪問屬性的EL例項
  2. String var_name = "username";  
  3. request.setAttribute("var_name", var_name); 

在JSP檔案中:

  1. //通過變數的值來訪問屬性的EL例項
  2. <c:out value=< span="">"${Student_complex[var_name]}"> 

相關推薦

JSTL核心標籤EL表示式聯合使用

10.2  使用EL表示式顯示String型別變數的示例 在Servlet檔案中使用以下程式碼:將String變數存入到request作用域中。 String simple_string_username = "gaohongyan";  request.setAttribute("simpl

JSTL標籤EL表示式總結

JSTL標籤庫與EL表示式 JSTL 是JSP的標準標籤庫,是一個JSP的標籤集合 ,按照類別包括核心標籤,格式化標籤,JSTL函式,SQL標籤和XML標籤 ,其中前三個用的概率較高。要想使用JSTL標籤庫我們首先要做的就是引入對應的Jar包【standard

jsp學習JSTL核心標籤

記住!!使用JSTL之前一定要匯入相關的jar包 jstl標籤庫需要兩個包jstl.jar和standard.jar 1.多用途核心標籤  1.1用於顯示的<c:out> ,<c:out>標籤是一個最常用的標籤,用於在JSP中顯示資料。  NewFile.js

javaweb之jstl核心標籤

JSTL jstl的概述 apache的東西,依賴EL 使用jstl需要匯入jstl1.2.jar 四大庫: core:核心庫,重點 fmt:格式化:日期、數字 sql:過時 xml:過時 匯入標

JSTL核心標籤——錯誤處理標籤

<c:catch>標籤 Demo: 錯誤發生時,不轉發至其他網頁來顯示錯誤資訊,而在當前網頁捕捉異常,並顯示相關資訊。 <%@page contentType="text/html" pageEncoding="UTF-8" %> <%@taglib prefix="

JSTL核心標籤——重定向URL處理標籤、網頁匯入標籤

<c:redirect>重定向標籤   相當於HttpServletResponse的sendRedirect()方法。 <%@page contentType="text/html" pageEncoding="UTF-8" %> <%@taglib

JSTL核心標籤——<c:set>標籤、<c:out>標籤

<c:set>標籤 index.jsp <%@ page import="java.util.Map" %> <%@ page import="java.util.HashMap" %> <%@page contentType="text/html" pag

apache的錯誤500錯誤,引入jstl核心標籤遇到的問題

apache的錯誤: 問題描述: HTTP Status 500 - javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Invalid property in &lt;set&

jstl--核心標籤(內容均來自於易百教程)

在jsp中引入以下程式碼,匯入jstl的核心標籤庫 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:out>標籤 <c:out>顯示錶達式的結果

JSTL核心標籤中c:forEach 的 varStatus屬性

我們常使用<c:forEach>標籤來遍歷需要的資料,為了方便使用,varStatus屬性可以方便我們實現一些與行數相關的功能,如:奇數行、偶數行差異;最後一行特殊處理等等。varStatus屬性常用引數如下: current:當前這次迭代的(集合中的)項index:當前這次迭代從 0 開

JSPEl表示式JSTL標籤使用

JSP 指令是通知JSP引擎如何處理該JSP頁面,不是針對程式設計師的。 共有三種指令:    1.page指令:        1.1. language="java"  預設是java,只能寫ja

淺談JSP中JSTL標籤】常用標籤EL表示式在JSP四大域中取值:

宣告:本測試使用的Tomcat9,JDK9 建立web4.0專案進行測試: EL表示式中字串【能轉為數字的】會自動強轉: EL表示式的全稱: Expression Language  ;作用

EL表示式----JSP11個隱式物件----EL函式----JSTL核心標籤if,foreach

一、EL表示式 語法:${EL表示式} 特點:永遠沒有空指標異常。如果物件是null,輸出空字串       只適合顯示資料 原理:${p} pageContext.findAttribute("p"); 實際上EL表示式是從域中搜索該物件 1、作用:替換掉JSP中的jav

JSTLEL 表示式

    目錄 1、為什麼需要EL 1、JavaBean在JSP中的侷限 2、解決辦法 2、EL表示式簡介 1、什麼是EL 2、EL的功能 3、EL的特點 4、EL表示式語法 1、使用變數名獲取值 2、變數屬性範圍名稱 3、獲

JSTLEL表示式字串比較

自己練習的時候,要比較sessionScope域中某值和requestScope域中某值是否相等,百度無果。就在自己馬上要放棄的時候,再一次除錯的時候發現了其中的端倪。 需求很簡單,使用者登入成功之後顯示資料庫中所有的使用者資訊,自己又給加了一個,就是在顯

jsp中的一些標籤EL表示式的使用

在做一個web專案,用到了jsp的一些標籤和struts標籤,這邊做一個整理: 關於struts標籤,<s:if test="#request.range==1 || #account.userDept == <%=page.userDeptCode%>"

Web---JSTL(Java標準標籤)-Core核心標籤、I18N國際化、函式

前面為JSTL中的常用EL函式,後面的為具體演示例項! JSTL簡介: JSTL(Java Standard Tag Library) –Java標準標籤庫。 SUN公司制定的一套標準標籤庫的規範。 JSTL標籤庫,是由一些Java類組成的。 J

jsp 匯入jstl標準標籤

在Tomcat伺服器安裝的examples示例應用程式的WEB-INF\lib目錄中就包含jstl.jar和standard.jar兩個檔案,將他們複製到Web應用的WEB-INF\lib目錄中即可 F:\操作工具\tomcat jsp伺服器\apache-tomcat-9.0.11-

ognlEL表示式總結

【ognl表示式】 使用方式是: 1.引入<%@taglib prefix="s" uri="/struts-tags" %> 2.使用 <s:property value="user.name"/>標籤獲取取值,取值的時候要注意根元素(全域性變數)不用#號,其他的都用#號

ThinkPHP模板IF標籤eq三元表示式用法

在微信小程式後端中用到了 IF標籤eq和三元表示式,下面記錄一下 <ul class="nav nav-tabs">                        &