站點首頁   聯系我們 
站點首頁 數據中心 域名註冊 網頁寄存 企業郵局 智能建站  
返回站點首頁
支持中心首頁
常見問題搜索
常見問題
域名相關問題
空間相關問題
郵箱相關問題
智能建站相關問題
繁簡通相關問題
動態域名相關問題
中文域名相關問題
代理申請相關問題
網絡查詢工具
 

   

Tomcat 5 對JSP2.0 支持的新功能介紹

  1. EL腳本語言的配置和支持:
    對於一個單個JSP頁面,你可以使用定義page指令來設置jsp頁面是否支持EL。默認是支持EL(如果要頁面不支持EL,請設置為isELIgnored=true;
  2. <%@ page isELIgnored="true|false"%>

    對於整個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>
    <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>

  3. 算術運算符演示:
    以下是EL運算符列表,其中empty可以檢查某個值是否為空
    運算符 說明 運算符 說明

    +

    > 或 gt 大於

    -

    <= 或 le 小於等於

    *

    >= 或 ge 大於等於

    / 或 div

    && 或 and 邏輯與

    % 或 mod

    模(求余)

    || 或 or 邏輯或

    == 或 =

    等於

    ! 或 not 邏輯非

    != 或 !=

    不等於

    empty 檢查是否為空值

    < 或 lt

    小於

    a ? b : c 條件運算符

    EL表達式使用簡單,在網頁中"\${}"表示是EL表達式。\${1+1} 顯示為 2

    EL算術表達式 運算結果 EL 關系運算表達式 運算結果
    ${1} 1 ${1 < 2} true
    ${1 + 2} 3 ${1 lt 2} true
    ${1.2 + 2.3} 3.5 ${1 > (4/2)} false
    ${-4 - 2} -6 ${4.0 >= 3} true
    ${21 * 2} 42 ${4.0 ge 3} true
    ${10%4} 2 ${100.0 eq 100} true
    ${10 mod 4} 2 ${(10*10) != 100} false
    ${(1==2) ? 3 : 4} 4 ${(10*10) ne 100} false
  4. 隱含對象數據演示:

    EL 表達式定義了11個隱含對象,使用這11個對象可以很方便的讀取到session,cookie,HttpHeader,用戶提交表單(param)等

    隱含對象

    內容

    applicationScope

    應用程序範圍內的scoped變量組成的集合

    cookie

    所有cookie組成的集合

    header

    HTTP請求頭部,字符串

    headerValues

    HTTP請求頭部,字符串集合

    initParam

    全部應用程序參數名組成的集合

    pageContext

    當前頁面的javax.servlet.jsp.PageContext對象

    pageScope

    頁面範圍內所有對象的集合

    param

    所有請求參數字符串組成的集合

    paramValues

    所有作為字符串集合的請求參數

    requestScope

    所有請求範圍的對象的集合

    sessionScope

    所有會話範圍的對象的集合

    下面是獲取HTTP訪問頭部數據和用戶提交數據的示例

    EL表達式 運算結果
    ${header["host"]}
    這裏得到HTTP連接頭部的host值
    ${header["accept"]} 這裏獲得HTTP頭部的accept值
    ${header["user-agent"]} 這裏獲得HTTP頭部的user-agent值
    以下可以讀取用戶提交的信息,假設用戶提交信息為 ?name=myname&alies=now.net.cn(這裏有兩種訪問方式,一種是使用[]來進行訪問,另外一種是使用" "來進行訪問,兩種訪問效果是一樣的。)
    ${param["name"] }  myname
    ${param.name}  myname
    ${param["alies"] }  now.net.cn
    ${param.alies} now.net.cn
     
  5. 定義和使用函數

    表達式語言允許你定義可在表達式中調用的函數。函數必須作為public類中的public static方法編寫。同時要將文件映射到TLD標誌庫文件中。

    為了說明函數的使用,我們舉一個簡單的例子,把兩個數相加。首先要編寫求兩數之和的Java方法代碼,如代碼示例3所示,這裏定義了一個靜態方法,它接收兩個字符串參數,把它們解析成整數並返回它們的和。

    示例文件:Compute.java

    package jsp2.examples.el;
    import java.util.*;
    public class Compute {
         public static int add(String x, String y) {
            int a = 0;
            int b = 0;
            try {
                a = Integer.parseInt(x);
                b = Integer.parseInt(y);
            }catch(Exception e) {} 
                return a + b;
         }
    }

    用javac把這段代碼編譯成功後,下一步就要把函數的簽名映射到標簽庫。代碼示例4說明了如何把add函數映射到包含函數實現和函數簽名的類。後面將說明把這段代碼添加到哪兒。

    配置標記庫描述文件 函數描述符

        <function>
                <description>add x and y</description>
                <name>add</name>
                <function-class>jsp2.examples.el.Compute
                        </function-class>
                <function-signature>int
                        add(java.lang.String,java.lang.String)
                                </function-signature>
        </function>

    現在我們就可以編寫一個JSP頁面來使用這個函數。代碼示例5是包含兩個字段的一個表單,用戶輸入兩個數字並按下“求和”按鈕,就會調用上面的函數並把兩個數相加,結果在同一個頁面中顯示出來。

    代碼示例5: math.jsp

    <%@ taglib prefix="my" 
            uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib %>
    <HEAD>
    <TITLE>Functions</TITLE>
    </HEAD>
    <BODY>
    <H3>Add Numbers</H3>
    <P>
    <FORM action="math.jsp" method="GET">
         X = <input type="text" name="x" value="\${param["x"]}">
        <BR>
         Y = <input type="text" name="y" value="\${param["y"]}">
        <input type="submit" value="Add Numbers">
    </FORM>
    <P>
    The sum is: \${my:add(param["x"],param["y"])}
    </BODY>
    </HTML>
返回上一頁
  打 印   發 送 時代互聯Eranet International Limited 版權所有 ©2005-2024
《中華人民共和國增值電信業務經營許可證》 ISP證粵B2-20042046