<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程序設計:基礎知識

    Posted on 2008-08-15 20:53 夢與橋 閱讀(470) 評論(0)  編輯  收藏 所屬分類: jsp程序設計
    1、JSP運行環境:安裝JDK并進行相關的環境變量配置、安裝JSP引擎(J2EE、Resin和Tomcat等)。
    2、創建第一個JSP程序:
        (1)使用文本編輯工具創建一個JSP程序first.jsp:
    <html>
    <head><title>Firstjsp</title></head>
    <body>
    <%out.println("Hello world.");%>
    </body>
    </html>
        (2)在Tomcat服務器中建立Web應用程序目錄和運行程序:
            §進入Tomcat的安裝目錄,在webapps下新建一個目錄,起名為myapp(名字任意)。
            §在myapp下新建一個目錄WEB-INF(目錄區分大小寫)。
            §在WEB-INF下新建一個文件web.xml。
            §將first.jsp文件復制到myapp文件夾中。
            §在瀏覽器中輸入:http://127.0.01:8080/myapp/first.jsp,運行。
        (3)修改web.xml文件,內容如下:
    <? xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app-2-3.dtd"
    >
    <web-app>
    <display-name>My Web Application</display-name>
    <description>
    A application for test.
    </description>
    </web-app>
    3、JSP注釋:一種是輸出注釋,另一種是隱藏注釋。
        §輸出注釋:形式與HTML注釋一樣,但其可以包含代碼,如:
    <!--加載此頁面的時間:<%= (new java.util.Date()).toLocaleString()%>-->
    則客戶端顯示為:
    <!--加載此頁面的時間:2008-8-15 21:18:08-->
        §隱藏注釋:寫在JSP程序中,不發送給客戶端,其格式:<%-- 注釋內容 --%>
    4、JSP腳本元素:聲明、表達式、腳本程序
        §聲明的語法格式:<%! declarations %>。例如:
    <%! int i=0%>
    <%! int a,b,c; %>
    <%! Date date=new Date() ;%>
        注意:每個頁面都用到的一些聲明可以寫到一個文件里,然后用<%@ include %>或<jsp:include>元素包含進來。
        §表達式的語法格式:<%= expression %>。例如:
    <%= i %>
    <%= date %>
        注意:結尾無分號,表達式必須是一個合法的java表達式,必須有返回值,且返回值被轉換為字符串,也可以作為其他JSP元素的屬性值,一個表達式可以多個表達式的組合,其順序是從左到右。
        §腳本程序的語法格式:<% 代碼段 %>。例如:
    <%
        Date date
    =new Date();
        SimpleDateFormat sdf
    =new SimpleDateFormat("yyyy-mm-dd");
           out.println(sdf.format(date));
    %>
        注意:一個scriptlet能夠包含多個jsp語句,方法,變量,表達式 。 因為scriptlet,我們便能聲明將要用到的變量或方法(參考 聲明);編寫JSP表達式(參考 表達式);使用任何隱含的對象和任何用<jsp:useBean>聲明過的對象;編寫JSP語句 (如果你在使用Java語言,這些語句必須遵從Java Language Specification,);任何文本,HTML標記,JSP元素必須在scriptlet之外;當JSP收到客戶的請求時,scriptlet就會被執行,如果scriptlet有顯示的內容,這些顯示的內容就被存在out對象中。
     5、JSP指令元素:Page、Include、Taglib,其格式為<%@  directive {attr="value"}*  %>
        (1)paget指令作用于整個JSP頁面,其屬性被用于與JSP容器通信,描述了與頁面相關的指示信息。在一個JSP頁面中,Page可以出現多次,但指令中的屬性卻只能出現一次(import屬性除外),重復的屬性設置將覆蓋先前的設置。 無論你把<% @ page %>指令放在JSP的文件的哪個地方,它的作用范圍都是 整個JSP頁面。不過,為了JSP程序的可讀性,以及好的編程習 慣,最好還是把它放在JSP文件的頂部。語法與例子:
    <%@ page 
    [ language
    ="java" ] <%--指定腳本語言,默認為java--%>
    [ extends
    ="package.class" ]     <%--  指定JSP頁面轉換后的Servlet類從哪一類繼承,通常不用,父類由JSP容器提供。--%>
    [ import
    ="{package.class | package.*}, " ] <%-- 與java程序中的一樣,可重復使用 --%>
    [ session
    ="true | false" ] <%--是否可用session對象--%>
    [ buffer
    ="none | 8kb | sizekb" ] <%--緩沖區大小,none為不使用緩沖區,默認為8kb--%>
    [ autoFlush
    ="true | false" ] <%--如果buffer溢出,是否要強制輸出,默認為true--%>
    [ isThreadSafe
    ="true | false" ] <%--指定文件是否能多線程使用,默認為true--%>
    [ info
    ="text" ] <%--指定頁面的相關信息,該信息可以通過調用Servlet接口 的getServletInfo()方法得到--%>
    [ errorPage
    ="relativeURL" ] <%--指定JSP頁面發生異常時要轉向的處理頁面,其優先權高于web.xml的設置--%>
    [ contentType
    ="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] 
    [ isErrorPage
    ="true | false" ] <%--當前頁面是否是錯誤處理頁面,默認為flase--%>
        [pageEncoding="peinfo"]<%--指定頁面的字符編碼,若未指定則使用contentType屬性的,若兩者都未指定,使用ISO-8859-1--%>
    %> 
    例子
    <%@ page import="java.util.*, java.lang.*" %> 
    <%@ page buffer="5kb" autoFlush="false" %> 
    <%@ page errorPage="error.jsp" %> 

        注意:<% @ page %>指令不能作用于動態的包含文件,比如 <jsp:include> 。 import默認導入的包有java.lang.*、javax.servlet.*、javax.servlet.jsp.*和javax.servlet.http.*。
        (2)Include指令用于在JSP頁面中靜態包含一個文件,該文件可以是JSP頁面、HTML網頁、文本文件或一段程序代碼。格式:<%@ include file="relativeURL" %>,例子:

    <html> 
    <head><title>Include Demo</title></head> 
    <body bgcolor="white"> 
    <font color="blue"> 
    The current date and time are: 
    <%@ include file="date.jsp" %> 
    </font> 
    </body> 
    </html> 
    被包含的文件:date.jsp
    <%@ page contentType="text/html; charset=GB2312"
        language
    ="java" import="java.util.*,java.text.*"
     
    %>
     
    <% 
         
    Date date=new Date();
         SimpleDateFormat sdf
    =new SimpleDateFormat("yyyy-MM-dd");
      
    %>
     
    <tr>
         
    <td height="14" align="center">*當前日期:</td>
          
    <td><%= sdf.format(date%></td>
     
    </tr>
    注意:包含與被包含的文件,在HTML標簽、變量和方法上不能沖突。
        (3)Taglib指令用來定義一個標簽庫以及其自定義的標簽的前綴。語法和例子:
    語法

    <%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %> 

    例子

    <%@ taglib uri="http://www.jspcentral.com/tags" prefix="public" %> 
    <public:loop> 


    </public:loop> 
    注意:<% @ taglib %>指令聲明此JSP文件使用了自定義的標簽,同時引用標簽庫,也指定了他們的標簽的前綴。 這里自定義的標簽含有標簽和元素之分。因為JSP文件能夠轉化為XML,所以了解標簽和元素之間的聯系很重要。標簽只不過是一個在意義上被抬高了點的標記,是JSP元素的一部分。JSP元素是JSP語法的一部分,和XML一樣有開始標記和結束標記。元素也可以包含其它的文本,標記,元素。比如,一個jsp:plugin元素有<jsp:plugin>開始標記和</jsp:plugin>結束標記,同樣也可以有<jsp:params>和<jsp:fallback>元素。你必須在使用自定義標簽之前使用<% @ taglib %>指令,而且你可以在一個頁面中多次使用,但是前綴只能使用一次。
    屬性:
    uri="URIToTagLibrary"
    Uniform Resource Identifier (URI)根據標簽的前綴對自定義的標簽進行唯一的命名,URI可以是以下的內容:
    Uniform Resource Locator (URL), 由 RFC 2396 定義, 查看 http://www.hut.fi/u/jkorpela/rfc/2396/full.html 
    Uniform Resource Name (URN), 由 RFC 2396定義
    一個相對或絕對的路徑
    prefix="tagPrefix"
    在自定義標簽之前的前綴,比如,在<public:loop>中的public,如果這里不寫public,那么這就是不合法的。請不要用jsp, jspx, java, javax, servlet, sun, 和sunw做為你的前綴。
    6、JSP動作元素:JSP容器支持兩種JSP動作,即標準動作和自定義動作。在JSP中,動作元素是使用XML語法來表示的。JSP中的標準動作包括<jsp:include>、<jsp:param>、<jsp:forward>、<jsp:useBean>、<jsp:getProperty>、<jsp:setProperty>和<jsp:plugin>。
        (1)<jsp:include>動作元素允許在頁面被請求時包含一些其他的資源,如一個靜態的HTML文件或動態的JSP文件。語法:
    <jsp:include page="{relativeURL | <%= expression%>}"   flush="true" /> 

    <jsp:include page="{relativeURL | <%= expression %>}"   flush="true" > 
            
    <jsp:param name="parameterName"  value="{parameterValue | <%= expression %>}" />
    </jsp:include> 
         例子:
    <jsp:include page="scripts/login.jsp" /> 
    <jsp:include page="copyright.html" /> 
    <jsp:include page="/index.html" /> 
    <jsp:include page="scripts/login.jsp"> 
            
    <jsp:param name="username" value="wzz" /> 
    </jsp:include> 
    注意:
    <jsp:include>對于靜態文件,僅僅是把包含文件的內容加到jsp文件中去,如果這個文件動態的,這個被包含文件也會被Jsp編譯器執行。不能從文件名上判斷一個文件是動態的還是靜態的,比如aspcn.asp就有可能只是包含一些信息而已。<jsp:include>能夠同時處理這兩種文件,因此你就不需要包含時還要判斷此文件是動態的還是靜態的。
    屬性:
    page="{relativeURL | <%= expression %>}"
    參數為一相對路徑,或者是代表相對路徑的表達式.
    flush="true"
    這里你必須使用flush="true",你不能使用false值.缺省值為false
    <jsp:param name="parameterName" value="{parameterValue | <%= expression %> }" />+
    <jsp:param>子句能讓你傳遞一個或多個參數給動態文件
    你能在一個頁面中使用多個<jsp:param>來傳遞多個參數。
        (2)<jsp:forward>重定向一個HTML文件,JSP文件,或者是一個程序段,一般會停止當前JSP文件的執行。格式:
    <jsp:forward page={"relativeURL" | "<%= expression %>"} /> 
    或 
    <jsp:forward page={"relativeURL" | "<%= expression %>"} > 
    <jsp:param name="parameterName"  value="{parameterValue | <%= expression %>}" />
    </jsp:forward> 
        例子:
    <jsp:forward page="/servlet/login" /> 
    <jsp:forward page="/servlet/login"> 
    <jsp:param name="username" value="wzz" /> 
    </jsp:forward>
        注意:
    <jsp:forward>標簽從一個JSP文件向另一個文件傳遞一個包含用戶請求的request對象.<jsp:forward>標簽以下的代碼,將不能執行。
    你能夠向目標文件傳送參數和值,在這個例子中我們傳遞的參數名為username,值為scott,如果你使用了<jsp:param>標簽的話,目標文件必須是一個動態的文件,能夠處理參數。
    如果你使用了非緩沖輸出的話,那么使用<jsp:forward>時就要小心。如果在你使用<jsp:forward>之前,jsp文件已經有了數據,那么文件執行就會出錯。
    屬性
    page="{relativeURL | <%= expression %>}"
    這里是一個表達式或是一個字符串用于說明你將要定向的文件或URL.這個文件可以是JSP,程序段,或者其它能夠處理request對象的文件(如asp,cgi,php).
    <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+
    向一個動態文件發送一個或多個參數,這個文件一定是動態文件.
    如果你想傳遞多個參數,你可以在一個JSP文件中使用多個<jsp:param>。name指定參數名,value指定參數值。
        (3)<jsp:param>動作元素被用來以“name=value“的形式為其他元素提供附加信息,通常它會同<jsp:include>、<jsp:forward>、<jsp:plugin>等元素一起使用。語法格式:
    <jsp:param name="name" value="value" >
        (4)<jsp:plugin>執行一個applet或Bean,有可能的話還要下載一個Java插件用于執行它。語法:
    <jsp:plugin
    type="bean | applet"
    code
    ="classFileName"
    codebase
    ="classFileDirectoryName"
    [ name
    ="instanceName" ]
    [ archive
    ="URIToArchive, " ]
    [ align
    ="bottom | top | middle | left | right" ]
    [ height
    ="displayPixels" ]
    [ width
    ="displayPixels" ]
    [ hspace
    ="leftRightPixels" ]
    [ vspace
    ="topBottomPixels" ]
    [ jreversion
    ="JREVersionNumber | 1.1" ]
    [ nspluginurl
    ="URLToPlugin" ]
    [ iepluginurl
    ="URLToPlugin" ] >
    <jsp:params>
    <jsp:param name="parameterName"
    value
    ="{parameterValue | <%= expression %>}" /> ]+
    </jsp:params> ]
    <jsp:fallback> text message for user </jsp:fallback> ]
    </jsp:plugin>
    屬性
    type="bean | applet"
    將被執行的插件對象的類型,你必須得指定這個是Bean還是applet,因為這個屬性沒有缺省值。
    code="classFileName"
    將會被Java插件執行的Java Class的名字,必須以.class結尾。這個文件必須存在于codebase屬性指定的目錄中。
    codebase="classFileDirectoryName"
    將會被執行的Java Class文件的目錄(或者是路徑),如果你沒有提供此屬性,那么使用jsp:plugin的jsp文件的目錄將會被使用。
    name="instanceName"
    這個Bean或applet實例的名字,它將會在Jsp其它的地方調用。
    archive="URIToArchive, ..."
    一些由逗號分開的路徑名,這些路徑名用于預裝一些將要使用的class,這會提高applet的性能。
    align="bottom | top | middle | left | right"
    圖形,對象,Applet的位置,有以下值:
    bottom
    top
    middle
    left
    right
    height="displayPixels" width="displayPixels"
    Applet或Bean將要顯示的長寬的值,此值為數字,單位為象素。
    hspace="leftRightPixels" vspace="topBottomPixels"
    Applet或Bean顯示時在屏幕左右,上下所需留下的空間,單位為象素。
    jreversion="JREVersionNumber | 1.1"
    Applet或Bean運行所需的Java Runtime Environment(JRE)的版本。
    缺省值是 1.1。
    nspluginurl="URLToPlugin"
    Netscape Navigator用戶能夠使用的JRE的下載地址,此值為一個標準的URL,如http://www.aspcn.com/jsp
    iepluginurl="URLToPlugin"
    IE用戶能夠使用的JRE的下載地址,此值為一個標準的URL,如http://www.aspcn.com/jsp
    <jsp:params> [ <jsp:param name="parameterName"
    value="{parameterValue | <%= expression %>}" /> ]+ </jsp:params>
    你需要向applet或Bean傳送的參數或參數值。
    <jsp:fallback> text message for user </jsp:fallback>
    一段文字用于Java插件不能啟動時顯示給用戶的,如果插件能夠啟動而applet或Bean不能,那么瀏覽器會有一個出錯信息彈出。
    例子:
    <jsp:plugin type=applet code="Molecule.class" codebase="/html">
    <jsp:params>
    <jsp:param name="molecule" value="molecules/benzene.mol" />
    </jsp:params>
    <jsp:fallback>
    <p>Unable to load applet</p>
    </jsp:fallback>
    </jsp:plugin>
    注意:jsp:plugin元素用于在瀏覽器中播放或顯示一個對象(典型的就是applet和Bean),而這種顯示需要在瀏覽器的java插件。當Jsp文件被編譯,送往瀏覽器時,jsp:plugin元素將會根據瀏覽器的版本替換成object或者embed元素。注意,object用于HTML 4.0,embed用于HTML 3.2。一般來說,jsp:plugin元素會指定對象是Applet還是Bean,同樣也會指定class的名字,還有位置,另外還會指定將從哪里下載這個Java插件。
        (5)<jsp:useBean>創建一個Bean實例并指定它的名字和作用范圍。語法格式:
    <jsp:useBean
    id="beanInstanceName"
    scope
    ="page | request | session | application"
    {
    class
    ="package.class" |
    type
    ="package.class" |
    class
    ="package.class" type="package.class" |
    beanName
    ="{package.class | <%= expression %>}" type="package.class"
    }
    {
    /> |
    > other elements 
    </jsp:useBean>
    }
    例子:
    <jsp:useBean id="cart" scope="session" class="session.Carts" />
    <jsp:setProperty name="cart" property="*" />
    <jsp:useBean id="checking" scope="session" class="bank.Checking" >
    <jsp:setProperty name="checking" property="balance" value="0.0" />
    </jsp:useBean> 
    描述
    <jsp:useBean>用于定位或示例一個JavaBeans組件。<jsp:useBean>首先會試圖定位一個Bean實例,如果這個Bean不存在,那么<jsp:useBean>就會從一個class或模版中進行示例。
    為了定位或示例一個Bean,<jsp:useBean>會進行以下步聚,順序如下:
    通過給定名字和范圍試圖定位一個Bean.
    對這個Bean對象引用變量以你指定的名字命名.
    如果發現了這個Bean,將會在這個變量中儲存這個引用。如果你也指定了類型,那么這個Bean也設置為相應的類型.
    如果沒有發現這個Bean,將會從你指定的class中示例,并將此引用儲存到一個新的變量中去。如果這個class的名字代表的是一個模版,那么這個Bean被java.beans.Beans.instantiate示例.
    如果<jsp:useBean>已經示例(不是定位)了Bean,同時<jsp:useBean>和</jsp:useBean>中有元素,那么將會執行其中的代碼.
    <jsp:useBean>元素的主體通常包含有<jsp:setProperty>元素,用于設置Bean的屬性值。正如上面第五步所說的,<jsp:useBean>的主體僅僅只有在<jsp:useBean>示例Bean時才會被執行,如果這個Bean已經存在,<jsp:useBean>能夠定位它,那么主體中的內容將不會起作用
    屬性以及用法
    id="beanInstanceName"
    在你所定義的范圍中確認Bean的變量,你能在后面的程序中使用此變量名來分辨不同的Bean
    這個變量名對大小寫敏感,必須符合你所使用的腳本語言的規定,在Java Programming Language中,這個規定在Java Language 規范已經寫明。如果這個Bean已經在別的<jsp:useBean>中創建,那么這個id的值必須與原來的那個id值一致.
    scope="page / request / session / application"
    Bean存在的范圍以及id變量名的有效范圍。缺省值是page,以下是詳細說明:
    page - 你能在包含<jsp:useBean>元素的JSP文件以及此文件中的所有靜態包含文件中使用Bean,直到頁面執行完畢向客戶端發回響應或轉到另一個文件為止。
    request - 你在任何執行相同請求的Jsp文件中使用Bean,直到頁面執行完畢向客戶端發回響應或轉到另一個文件為止。你能夠使用Request對象訪問Bean,比如request.getAttribute(beanInstanceName)
    session - 從創建Bean開始,你就能在任何使用相同session的Jsp文件中使用Bean.這個Bean存在于整個Session生存周期內,任何在分享此Session的Jsp文件都能使用同一Bean.注意在你創建Bean的Jsp文件中<% @ page %>指令中必須指定session=true
    application - 從創建Bean開始,你就能在任何使用相同application的Jsp文件中使用Bean.這個Bean存在于整個application生存周期內,任何在分享此application的Jsp文件都能使用同一Bean.
    class="package.class"
    使用new關鍵字以及class構造器從一個class中示例一個bean.這個class不能是抽象的,必須有一個公用的,沒有參數的構造器.這個package的名字區別大小寫。
    type="package.class"
    如果這個Bean已經在指定的范圍中存在,那么寫這個Bean一個新的數據庫類型 。如果你沒有使用class或beanName指定type,Bean將不會被示例.package和class的名字,區分大小寫
    beanName="{package.class / <%= expression %>}" type="package.class"
    使用java.beans.Beans.instantiate方法來從一個class或連續模版中示例一個Bean,同時指定Bean的類型。
    beanName可以是package和class也可以是表達式,它的值會傳給Beans.instantiate.tupe的值可以和Bean相同。
    package 和 class 名字區分大小寫。
        (6)<jsp:setProperty> 設置Bean中的屬性值。語法:
    <jsp:setProperty 
    name="beanInstanceName" 

    property
    = "*" / 
    property
    ="propertyName" [ param="parameterName" ] / 
    property
    ="propertyName" value="{string / <%= expression %>}" 

    /> 
    例子:
    <jsp:setProperty name="mybean" property="*" /> 
    <jsp:setProperty name="mybean" property="username" /> 
    <jsp:setProperty name="mybean" property="username" value="Steve" />
    描述
    <jsp:setProperty>元素使用Bean給定的setter方法,在Bean中設置一個或多個屬性值。你在使用這個元素之前必須得使用<jsp:useBean>聲明此Bean.因為,<jsp:useBean>和<jsp:setProperty>是聯系在一起的,同時這他們使用的Bean實例的名字也應當相匹配(就是說,在<jsp:setProperty>中的name的值應當和<jsp:useBean>中id的值相同)
    你能使用多種方法利用<jsp:setProperty>來設定屬性值 :
    通過用戶輸入的所有值(被做為參數儲存中request對象中)來匹配Bean中的屬性
    通過用戶輸入的指定的值來匹配Bean中指定的屬性
    在運行時使用一個表達式來匹配Bean的屬性
    每一種設定屬性值的方法都有其特定的語法,下面我們會來講解
    屬性及其用法
    name="beanInstanceName"
    表示已經在<jsp:useBean>中創建的Bean實例的名字.
    property="*"
    儲存用戶在Jsp輸入的所有值,用于匹配Bean中的屬性。在Bean中的屬性的名字必須和request對象中的參數名一致.
    從客戶傳到服器上的參數值一般都是字符類型 ,這些字符串為了能夠在Bean中匹配就必須轉換成其它的類型
    如果request對象的參數值中有空值,那么對應的Bean屬性將不會設定任何值。同樣的,如果Bean中有一個屬性沒有與之對應的Request參數值,那么這個屬性同樣也不會設定.
    property="propertyName" [ param="parameterName" ]
    使用request中的一個參數值來指定Bean中的一個屬性值。在這個語法中,property指定Bean的屬性名,param指定request中的參數名.
    如果bean屬性和request參數的名字不同,那么你就必須得指定property和param ,如果他們同名,那么你就只需要指明property就行了.
    如查參數值為空(或未初始化),對應的Bean屬性不被設定.
    property="propertyName" value="{string / <%= expression %>}"
    使用指定的值來設定Bean屬性。這個值可以是字符串,也可以是表達式。如果這個字符串,那么它就會被轉換成Bean屬性的類型(查看上面的表).如果它是一個表達式,那么它類型就必須和它將要設定的屬性值的類型一致。
    如果參數值為空,那么對應的屬性值也不會被設定。另外,你不能在一個<jsp:setProperty>中同時使用param和value
    技巧
    如果你使用了property="*",那么Bean的屬性沒有必要按Html表單中的順序排序
        (7)<jsp:getProperty>獲取Bean的屬性值,用于顯示在頁面中。語法:
    <jsp:getProperty name="beanInstanceName" property="propertyName" /> 
    例子:
    <jsp:useBean id="calendar" scope="page" class="employee.Calendar" /> 
    <h2> 
    Calendar of 
    <jsp:getProperty name="calendar" property="username" /> 
    </h2> 
    描述
    這個<jsp:getProperty>元素將獲得Bean的屬性值,并可以將其使用或顯示在JSP頁面中.在你使用<jsp:getProperty>之前,你必須用<jsp:useBean>創建它.
    <jsp:getProperty>元素有一些限制:
    你不能使用<jsp:getProperty>來檢索一個已經被索引了的屬性
    你能夠和JavaBeans組件一起使用<jsp:getProperty>,但是不能與Enterprise Bean一起使用
    屬性
    name="beanInstanceName"
    bean的名字,由<jsp:useBean>指定
    property="propertyName"
    所指定的Bean的屬性名。
    技巧:
    在sun的JSP參考中提到,如果你使用<jsp:getProperty>來檢索的值是空值,那么NullPointerException將會出現,同時如果使用程序段或表達式來檢索其值,那么在瀏覽器上出現的是null(空)。
    主站蜘蛛池模板: a毛片免费播放全部完整| 无码人妻一区二区三区免费手机 | 亚洲午夜在线播放| 日韩一区二区在线免费观看| 成人国产网站v片免费观看| 亚洲AV综合色一区二区三区| 成年女人视频网站免费m| 日批视频网址免费观看| 亚洲1区1区3区4区产品乱码芒果 | 亚洲欧洲日产国码久在线| 2022中文字字幕久亚洲| 国产精品久久久久久久久免费 | 久久久久免费看黄A片APP| 日韩大片在线永久免费观看网站 | 亚洲毛片不卡av在线播放一区| 一区二区免费视频| 羞羞视频免费观看| 亚洲精品无码久久久久久久 | 久久精品亚洲日本波多野结衣| 亚洲精品无码久久久久去q | 国产成人精品免费大全| 在线综合亚洲中文精品| 亚洲精品乱码久久久久久中文字幕| 野花高清在线观看免费3中文| 中国videos性高清免费| 国产亚洲人成在线播放| 亚洲国产午夜精品理论片| 亚洲男同帅GAY片在线观看| 永久免费AV无码网站在线观看 | 亚洲毛片αv无线播放一区| 免费看大黄高清网站视频在线| 毛片免费在线观看| g0g0人体全免费高清大胆视频| 亚洲色大18成人网站WWW在线播放| 国产成人A人亚洲精品无码| 亚洲国产成人影院播放| 精品剧情v国产在免费线观看| 在线视频精品免费| 免费观看91视频| 精品一区二区三区免费视频| 国产成人综合久久精品亚洲|