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

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號
精品人无码一区二区三区| 免费91麻豆精品国产自产在线观看 | 精品久久中文字幕| 国产精品久久久久无码av| 久久这里只有精品18| 精品一区二区三区在线视频| 三上悠亚日韩精品一区在线| 国产精品熟女福利久久AV| 日韩人妻潮喷中文在线视频| 中日韩国语视频在线观看| 国产麻豆剧传媒精品国产AV| 国产成人午夜精品一区二区三区 | 一区二区精品在线观看| 欧美日韩精品乱国产| 中日韩国语视频在线观看| 国产成人亚洲精品无码AV大片 | 国内精品久久久久影院薰衣草 | 国产精品美女久久福利网站| 精品国产一区AV天美传媒| 亚洲国产精品午夜电影| 91精品久久久久久久久久| 99久久99久久久99精品齐| 久久国产精品一国产精品金尊| 人人妻人人澡人人爽人人精品97| 久久国产乱子伦精品免费一| 久久精品韩国三级| 亚洲av永久无码精品国产精品| 久久99精品国产一区二区三区| 精品午夜久久福利大片| 亚洲AV永久精品爱情岛论坛| 国产精品高清一区二区三区| 亚洲AV永久青草无码精品| 无码精品人妻一区二区三区免费看| 久久久久亚洲精品成人网小说| 亚洲国产精品自在在线观看| 亚洲AV成人无码久久精品老人| 日韩精品内射视频免费观看| 无码人妻精品一区二区| 99精品在线观看视频| 91在线精品中文字幕| 8AV国产精品爽爽ⅴa在线观看|