站長資訊網
        最全最豐富的資訊網站

        jsp學習筆記

        指令元素

        指令元素位于<%@之后和%>之前,指令元素分為:page、include和taglib三種。

        page指令

        language:

        目前只支持java這一種。

        import:

        在JSP頁面中使用的完整的類和接口名稱。

        import有兩種語法格式,一種是用逗號分隔,如:

        <%@page include=”java.util.ArrayList,java.io.*”%>

        另一種是重復設置import屬性,如:

        <%@page import=”java.util.ArrayList”%>

        <%@page import=”java.io.*”%>

        session:

        true或false,默認值為true。

        當session設置為true時,相當于JSP轉換后的Servlet中調用了request.getSession()。

        buffer:

        none或sizekb,該屬性指定out對象(JspWriter)所使用的緩沖區大小,如果設置為none,將不使用緩沖區,所有輸出將通過ServletResponse和PrintWriter對象寫出。該屬性默認值為8kb。

        autoFlush:

        true和false,是否自動刷新緩沖區,默認值為true。

        isThreadSafe:

        該屬性用于指定JSP頁面的訪問是否是線程安全的,如果設置為false,則JSP頁面轉換后的Servlet將繼承SingleThreadModel接口,建議使用默認值true。

        info:

        設置頁面的文字信息,該信息可以通過使用getServletInfo()方法得到。

        errorPage:

        定義JSP頁面發生異常時,將轉向哪一個錯誤處理頁面。在web.xml配置文件中,也可以指定錯誤處理頁面。

        isErrorPage:

        true和false,用于指定該JSP頁面是否是錯誤處理頁面。

        contentType:

        用于設定MIME類型和字符編碼。

        pageEncoding:

        設置字符編碼,如果該屬性未設置,同時也沒有通過contentType設置字符編碼,則使用默認值iso-8859-1。

        isELIgnored:

        true和false,該屬性用于定義在JSP頁面是否執行或忽略EL表達式,在Servlet2.4及以上版本中該屬性的默認值為false。

        include指令

        該指令的語法格式為:

        <%@include file=”relative URL”%>

        taglib指令

        taglib指令允許頁面使用用戶定制的標簽,taglib指令有uri、tagdir和prefix三個屬性。

        uri:

        可以是絕對或相對的uri,用于定位標簽庫描述符的位置。

        tagdir:

        該屬性指示前綴(prefix)將被用于標識安裝在WEB-INF/tags/目錄或其子目錄下的標簽文件。

        prefix:

        定義了標簽的前綴。

        腳本元素

        聲明

        腳本段

        表達式

        動作元素

        <jsp:useBean>、<jsp:setProperty>和<jsp:getProperty>

        <jsp:param>

        <jsp:include>

        <jsp:forward>

        <jsp:plugin>、<jsp:params>和<jsp:fallback>

        注釋

        JSP除了支持HTML的注釋外,還支持<%– 注釋內容 –%>的注釋方式,這兩者的區別在于后者不會將注釋內容發送到客戶端。

        JSP隱含對象

        request

        response

        pageContext

        pageContext提供了獲取其它隱含對象的方法,如getRequest()、getResponse()、getSession()、getServletContext()、getOut()、getServletConfig()、getPage()、getException()等。

        六個重要的方法:

        public abstract void setAttribute(String, Object [, int scope])

        public abstract Object getAttribute(String[, int scope])

        public abstract Object findAttribute(String[, int scope])

        public abstract void removeAttribute(String[, int scope])

        public void forward(String)

        public void include(String)

        scope表示范圍屬性,有四種。

        session

        application

        out

        out對象的類型是javax.servlet.jsp.JspWriter,是java.io.Writer的派生類,以字符流輸出數據,是PrintWriter帶緩沖的版本。

        七個重要的方法:

        public abstract void clear() throws IOException

        public abstract void clearBuffer() throws IOException

        public abstract void close() throws IOException

        public abstract void flush() throws IOException

        public int getBufferSize()

        public abstract int getRemaining()

        public boolean isAutoFlush()

        config

        page

        exception

        對象的范圍

        page

        request

        session

        application

        JavaBean

        JavaBean組件本質就是一個類,它具有以下特性:

        1) public類型。

        2) 有一個默認的構造方法。

        3) 提供get和set方法來獲取和設置屬性的值。

        JSP標準標簽庫(JSTL)

        JSTL規范由SUN公司制定,Apache的Jakarta小組負責實現。JSTL1.1支持Servlet2.4和JSP2.0,JSTL1.0支持Servlet2.3和JSP1.2。

        使用JSTL時,需要jstl.jar和standard.jar兩個包,在apache官方網站可以下載,網址是:http://www.apache.org/dist/jakarta/taglibs/standard/

        它們在jakarta-taglibs-standard-current.zip壓縮包中。

        JSTL由五個不同的標簽庫組成:

        功能范圍

        URI

        前綴

        core

        http://java.sun.com/jsp/jstl/core

        c

        I18N

        http://java.sun.com/jsp/jstl/fmt

        fmt

        SQL

        http://java.sun.com/jsp/jstl/sql

        sql

        XML

        http://java.sun.com/jsp/jstl/xml

        x

        Functions

        http://java.sun.com/jsp/jstl/functions

        fn

        JSTL核心標簽庫

        <c:out>標簽

        沒有標簽體:

        <c:out value=”” default=””escapeXml=true|false>

        有標簽體:

        <c:out value=””escapeXml=true|false>default value</c:out>

        <c:set>標簽

        方式一:

        <c:set var=username value=pbz scope=page|request|session|application />

        方式二:

        <c:set var=username scope=page|request|session|application>pbz</c:out>

        方式三:

        <c:set target=對象名 property=屬性名 value= />

        <c:remove>標簽

        <c:remove var=變量名 scope=page|request|session|application />

        <c:catch>標簽

        <c:catch var=exception>

        過程語句

        </c:catch>

        <c:out value=${exception.message} />

        <c:if>標簽

        <c:if test=表達式,結果為true或false [var=保存前面test結果的變量名 scope=page|request|session|application]>

        過程語句

        </c:if>

        <c:choose>標簽

        <c:choose>、<c:when>和<c:otherwise>配合使用,相當于ifelse。

        <c:forEach>標簽

        <c:forEach var=每次循環中的中間對象名 items=被迭代的集合對象名 [begin=”” end=”” step=”” varStatus=狀態名]>

        <c:out value=${每次循環中的中間對象名.屬性名或鍵名} />

        </c:forEach>

        狀態名是迭代標簽所產生的一個對象名,它具有以下屬性:

        count

        index

        first

        last

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产高清国产精品国产专区| 国产精品三级在线观看无码| 久久精品99久久香蕉国产色戒 | 一本久久a久久精品综合夜夜| 亚洲av成人无码久久精品| 国产高清精品在线| 色欲国产麻豆一精品一AV一免费 | 成人国产精品一区二区网站| 亚洲国产精品嫩草影院久久| 国产成人精品一区二三区在线观看 | 精品无码人妻一区二区三区 | 国产精品岛国久久久久| 国产一区二区三区精品视频| 国产福利精品一区二区| 亚洲欧美国产精品专区久久| 国产精品怡红院永久免费| 亚洲精品二区国产综合野狼| 国产精品白丝jkav网站| 国产精品99久久免费观看| 最新精品亚洲成a人在线观看| 国产精品五月天强力打造| 国产精品高清一区二区三区不卡| 亚洲精品无码午夜福利中文字幕 | 国产精品99久久精品| 亚洲精品黄色视频在线观看免费资源| 精品无码人妻一区二区三区品| 日韩精品一二三四区| 99久久精品免费观看国产| 四虎影视永久在线观看精品| 欧美成人精品第一区二区| 国产精品 视频一区 二区三区| 精品日产一区二区三区手机| 国产精品亚洲日韩欧美色窝窝色欲| 一本久久a久久精品综合香蕉| 国内精品视频在线观看| 亚洲综合一区二区国产精品| 99热在线日韩精品免费| 亚洲国产精品无码久久SM| 欧美国产精品va在线观看| 国产精品无码久久久久| 久久精品国产秦先生|