<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 37, comments - 8, trackbacks - 0, articles - 0

    jsp程序設計:jstl之el

    Posted on 2008-10-25 23:29 夢與橋 閱讀(1641) 評論(0)  編輯  收藏 所屬分類: jsp程序設計
    1、el即表達式語言,是JSP技術的主要特點之一。可用于
        1)靜態文本,包含EL表達式,其值在運行時計算出來,EL表達式被該值替換。
        2)標準標簽和自定義標簽,以幫助顯示網頁上的動態內容。
        3)讀取JavaBean的值,使用EL表達式可以簡潔地讀出JavaBean的屬性值。
        4)實例:包括book.java與readBook.jsp
        book.java的代碼如下:
    package wzz;
    public class book {
        
    private String name="J2EE編程技術";
        
    private String author="郝玉龍";
        
    private String publish="清華大學出版社";
        
    private Double price=27.00;
        
    public String getName() {
            
    return name;
        }

        
    public String getAuthor() {
            
    return author;
        }

        
    public String getPublish() {
            
    return publish;
        }

        
    public Double getPrice() {
            
    return price;
        }

    }
        readBook.jsp的代碼如下:
    <%@ page language="java" contentType="text/html; charset=GBK"%>
    <jsp:useBean id="books" class="wzz.book"></jsp:useBean>
    <body> 
    書名:${books.name}
    <br>
    作者:${books.author}
    <br>
    出版社:${books.publish }
    <br>
    定價:${books.price }
    <br>
    打八折后:${books.price*0.8 }
    <br>
    </body>
    2、EL使用語法
        1)“.”與[ ]運算符,兩者是等價的,${books.name}與${books["name"]}的作用一樣。
        2)EL變量可以引用存儲在標準范圍中的屬性,默認的搜索順序是page、request、session和application。如果需要,可以使用toString()方法將變量的返回值轉換成為字符串;如果找不到變量,則返回null值。字符串可以用單引號也可以用雙引號括起來,可以使用轉義字符。
        3)EL保留字:
    運算符 描述 運算符 描述 運算符 描述 運算符 描述 運算符 描述
    and eq 等于 gt 大于 false False div 相除
    or ne 不等于 ge 大于 等于 null Null mod 取模
    not le 小于等于 true True empty 清空
    4)EL隱式對象:
    下表中列出了 11 個 EL 隱式對象的標識符。不要將這些對象與 JSP 隱式對象(一共只有九個)混淆,其中只有一個對象是它們所共有的。

     

    類別 標識符 描述
    JSP pageContext PageContext 實例對應于當前頁面的處理
    作用域 pageScope 與頁面作用域屬性的名稱和值相關聯的 Map
    requestScope 與請求作用域屬性的名稱和值相關聯的 Map
    sessionScope 與會話作用域屬性的名稱和值相關聯的 Map
    applicationScope 與應用程序作用域屬性的名稱和值相關聯的 Map
    請求參數 param 按名稱存儲請求參數的主要值的 Map
    paramValues 將請求參數的所有值作為 String 數組存儲的 Map
    請求頭 header 按名稱存儲請求頭主要值的 Map
    headerValues 將請求頭的所有值作為 String 數組存儲的 Map
    Cookie cookie 按名稱存儲請求附帶的 cookie 的 Map
    初始化參數 initParam 按名稱存儲 Web 應用程序上下文初始化參數的 Map

    盡管 JSP 和 EL 隱式對象中只有一個公共對象(pageContext),但通過 EL 也可以訪問其它 JSP 隱式對象。原因是 pageContext 擁有訪問所有其它八個 JSP 隱式對象的特性。實際上,這是將它包括在 EL 隱式對象中的主要理由。

    其余所有 EL 隱式對象都是映射,可以用來查找對應于名稱的對象。前四個映射表示先前討論的各種屬性作用域。可以用它們來查找特定作用域中的標識符,而不用依賴于 EL 在缺省情況下使用的順序查找過程。

    接下來的四個映射用來獲取請求參數和請求頭的值。因為 HTTP 協議允許請求參數和請求頭具有多個值,所以它們各有一對映射。每對中的第一個映射返回請求參數或頭的主要值,通常是恰巧在實際請求中首先指定的那個值。每對中第二個映射允許檢索參數或頭的所有值。這些映射中的鍵是參數或頭的名稱,但這些值是 String對象的數組,其中的每個元素都是單一參數值或頭值。

    cookie 隱式對象提供了對由請求設置的 cookie 名稱的訪問。這個對象將所有與請求相關聯的 cookie 名稱映射到表示那些 cookie 特性的 Cookie對象。

    最后一個 EL 隱式對象 initParam 是一個映射,它儲存與 Web 應用程序相關聯的所有上下文的初始化參數的名稱和值。初始化參數是通過 web.xml 部署描述符文件指定的,該文件位于應用程序的 WEB-INF 目錄中。

    5)隱式對象實例:Book.java+z1.jsp(設置bean并轉向z2.jsp)+z2.jsp(el讀取bean)
    Book.java的代碼如下:
    package wzz;
    public class Book {
        
    private String name;
        
    private String author;
        
    public void setName(String name) {
            
    this.name = name;
        }

        
    public void setAuthor(String author) {
            
    this.author = author;
        }

        
    public String getName() {
            
    return name;
        }

        
    public String getAuthor() {
            
    return author;
        }

    }
    z1.jsp的代碼如下:
    <%@ page language="java" contentType="text/html; charset=GBK"%>
    <%@ page import="wzz.Book"%>
    <body>
        
    <%
            Book book1 
    = new Book();
            book1.setName(
    "JSP大學實用教程");
            book1.setAuthor(
    "耿祥義");
            request.setAttribute(
    "book", book1);

            Book book2 
    = new Book();
            book2.setName(
    "JSP應用開發");
            book2.setAuthor(
    "鄧子云");
            session.setAttribute(
    "book", book2);
            request.setCharacterEncoding(
    "gb2312");
            pageContext.forward(
    "z2.jsp?pj=好書!");
        
    %>
    </body>
    z2.jsp的代碼如下:
    <%@ page language="java" contentType="text/html; charset=GBK"%>
    <body>
    這本書是:${book.name }
    <br>
    這本書的作者是:${requestScope.book.author }
    <br>
    那本書是:${sessionScope['book'].name }
    <br>
    那本書的作者是:${sessionScope.book.author }
    <br>
    對這兩書的評價(傳來的參數):${param.pj }
    <br>
    主機是:${header['host'] }
    <br>
    瀏覽器是:${header['User-Agent'] }
    </body>
        6)EL運算符(算術運算符、關系運算符、邏輯運算符、驗證運算符)
    以下是EL運算符列表,其中empty可以檢查某個值是否為空
      1. 運算符
      說明 運算符 說明

      +

      > 或 gt 大于

      -

      <= 或 le 小于等于

      *

      >= 或 ge 大于等于

      / 或 div

      && 或 and 邏輯與

      % 或 mod

      模(求余)

      || 或 or 邏輯或

      == 或 =

      等于

      ! 或 not 邏輯非

      != 或 !=

      不等于

      empty 檢查是否為空值

      < 或 lt

      小于

      a ? b : c 條件運算符
          7)EL運算符演示程序:
      <%@ page contentType="text/html;charset=gbk" %>
      <html>
        
      <head>
          
      <title>
            EL運算符使用演示
          
      </title>
        
      </head>
        
      <body bgcolor="#ffffff">
          
      <h1>
            EL運算符使用演示
          
      </h1>
          
      <table border="1">
            
      <thead>
              
      <td><b>EL Expression</b></td>
              
      <td><b>Result</b></td>
            
      </thead>
            
      <tr>
              
      <td>\${1}</td>
              
      <td>${1}</td>
            
      </tr>
            
      <tr>
              
      <td>\${1.2E4 + 1.4}</td>
              
      <td>${1.2E4 + 1.4}</td>
            
      </tr>
            
      <tr>
              
      <td>\${3 div 4}</td>
              
      <td>${3 div 4}</td>
            
      </tr>
            
      <tr>
              
      <td>\${3/0}</td>
              
      <td>${3/0}</td>
            
      </tr>
            
      <tr>
              
      <td>\${(1==2) ? 3 : 4}</td>
              
      <td>${(1==2) ? 3 : 4}</td>
            
      </tr>
            
      <tr>
                
      <td>\${1 lt 2}</td>
                
      <td>${1 lt 2}</td>
            
      </tr>
            
      <tr>
                
      <td>\${4.0 &gt;= 3}</td>
              
      <td>${4.0 >= 3}</td>
            
      </tr>
            
      <tr>
                
      <td>\${(10*10) ne 100}</td>
                
      <td>${(10*10) ne 100}</td>
            
      </tr>
            
      <tr>
                
      <td>\${'a' &lt; 'b'}</td>
                
      <td>${'a' < 'b'}</td>
            
      </tr>
            
      <tr>
                
      <td>\${'hip' &gt; 'hit'}</td>
                
      <td>${'hip' > 'hit'}</td>
            
      </tr>
            
      <tr>
              
      <td>${'${'}true && false}</td>
              
      <td>${true && false}</td>
            
      </tr>     
          
      </table>
        
      </body>
      </html>
          8)EL表達式計算的配置與禁用

      對于一個單個JSP頁面,你可以使用定義page指令來設置jsp頁面是否支持EL。默認是支持EL(如果要頁面不支持EL,請設置為isELIgnored=true;禁用為false。

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

      對于整個JSP應用程序,要修改WEB.XML配置(tomcat6默認是支持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>
      <page-encoding>ISO-8859-1</page-encoding>
      <scripting-invalid>true</scripting-invalid>
      <include-prelude>/jsp/prelude.jspf</include-prelude>
      <include-coda>/jsp/coda.jspf</include-coda>
      </jsp-property-group>

      主站蜘蛛池模板: 国产日产成人免费视频在线观看| 日韩免费无码视频一区二区三区| 最近免费中文字幕视频高清在线看| 久久久久亚洲av无码专区 | 亚洲AⅤ视频一区二区三区| 亚洲狠狠色丁香婷婷综合| 成人啪精品视频免费网站| 亚洲日本VA中文字幕久久道具| 成人特黄a级毛片免费视频| 亚洲男人的天堂网站| 四虎影视永久免费视频观看| 免费一级毛片在线播放放视频 | 中文亚洲AV片不卡在线观看| 国内永久免费crm系统z在线| 亚洲国语精品自产拍在线观看 | 亚洲av综合avav中文| 暖暖免费日本在线中文| 久久久亚洲AV波多野结衣| 亚洲高清中文字幕免费| 亚洲欧美aⅴ在线资源| 亚洲爽爽一区二区三区| 久久成人a毛片免费观看网站| 亚洲欧洲日产韩国在线| 美女黄网站人色视频免费国产| 深夜特黄a级毛片免费播放| 亚洲精品你懂的在线观看| 毛片免费全部播放无码| 相泽南亚洲一区二区在线播放| 丁香五月亚洲综合深深爱| 一区二区三区观看免费中文视频在线播放| 亚洲成人高清在线观看| 国产美女被遭强高潮免费网站| 成人国产精品免费视频 | 亚洲AV永久无码精品一福利| 亚洲成av人在片观看| 无码少妇精品一区二区免费动态| 亚洲天堂2017无码中文| 亚洲一区二区三区在线播放| 最近新韩国日本免费观看 | 久久精品国产亚洲av品善| 亚洲av午夜成人片精品网站 |