JSP基礎(chǔ) (JSP動作元素) 第二十一天
與JSP指令元素不同的是,JSP動作元素在請求處理階段起作用。JSP動作元素是試用XML語法寫成的,它可以采用以下兩種格式:
<prefix:tag attribute = value attribute-list.../>
或者
<prefix:tag attribute = value attribute-list.../>
...
</prefix.tag>
SERVLET容器在處理JSP時,每當(dāng)遇到這種動作元素,都根據(jù)它的標(biāo)記進行特殊處理。
JSP規(guī)范定義了一系列的標(biāo)準(zhǔn)動作,它用JSP作為前綴。這些標(biāo)準(zhǔn)的動作不去慣容器是如何實現(xiàn)的,但是每個WEB容器都必須提供這些操作類型。標(biāo)準(zhǔn)動作為網(wǎng)頁設(shè)計者提供了基本的功能,其他的廠商可以自由提供其他的非標(biāo)準(zhǔn)動作以增強功能。
標(biāo)準(zhǔn)動作有:
<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>
<jsp:param>
<jsp:include>
<jsp:forward>
<jsp:plugin>
<jsp:fallback>
<jsp:attribute>
<jsp:body>
<jsp:invoke>
<jsp:doBody>
<jsp:element>
<jsp:output>
<jsp:scriptelet>
<jsp:declaration>等
在標(biāo)準(zhǔn)動作中,有許多是XML語法的動作元素,比如<jsp:scriptelet> <jsp:declaration>但他們的使用并不廣泛,下面介紹JSP中主要的動作元素。
文件導(dǎo)入標(biāo)記<jsp:include>
include用于允許在請求時間內(nèi)在縣城的JSP頁面里包含靜態(tài)或者動態(tài)資源。被包含的對象只有對JSPWRITER對象的訪問權(quán),并且它不能設(shè)置頭或者COOKIE,如果頁面輸出是緩沖的,那么緩沖區(qū)的刷新要有限于包含的刷新。此指令在運行的效率上比<%@ page include %>指令的效率低,但是可以動態(tài)增加內(nèi)容。用戶可以通過一下的格式來使用文件導(dǎo)入標(biāo)記
<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="admin/login.jsp" />
<jsp:include page="copyright.html" />
<jsp:include page="admin/login.jsp">
<jsp:parame name = "username" value="JackLong" />
</jsp:include>
頁面轉(zhuǎn)向標(biāo)記<jsp:forward />
實例:
<jsp:forword page="showinfo.jsp" >
<jsp:param name = "username" value = "<%=request.getParameter("username")%>"/>
<jsp:param name = "telephone" value = "<%=request.getParameter("telephone")%>"/>
</jsp:forword>
<prefix:tag attribute = value attribute-list.../>
或者
<prefix:tag attribute = value attribute-list.../>
...
</prefix.tag>
SERVLET容器在處理JSP時,每當(dāng)遇到這種動作元素,都根據(jù)它的標(biāo)記進行特殊處理。
JSP規(guī)范定義了一系列的標(biāo)準(zhǔn)動作,它用JSP作為前綴。這些標(biāo)準(zhǔn)的動作不去慣容器是如何實現(xiàn)的,但是每個WEB容器都必須提供這些操作類型。標(biāo)準(zhǔn)動作為網(wǎng)頁設(shè)計者提供了基本的功能,其他的廠商可以自由提供其他的非標(biāo)準(zhǔn)動作以增強功能。
標(biāo)準(zhǔn)動作有:
<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>
<jsp:param>
<jsp:include>
<jsp:forward>
<jsp:plugin>
<jsp:fallback>
<jsp:attribute>
<jsp:body>
<jsp:invoke>
<jsp:doBody>
<jsp:element>
<jsp:output>
<jsp:scriptelet>
<jsp:declaration>等
在標(biāo)準(zhǔn)動作中,有許多是XML語法的動作元素,比如<jsp:scriptelet> <jsp:declaration>但他們的使用并不廣泛,下面介紹JSP中主要的動作元素。
文件導(dǎo)入標(biāo)記<jsp:include>
include用于允許在請求時間內(nèi)在縣城的JSP頁面里包含靜態(tài)或者動態(tài)資源。被包含的對象只有對JSPWRITER對象的訪問權(quán),并且它不能設(shè)置頭或者COOKIE,如果頁面輸出是緩沖的,那么緩沖區(qū)的刷新要有限于包含的刷新。此指令在運行的效率上比<%@ page include %>指令的效率低,但是可以動態(tài)增加內(nèi)容。用戶可以通過一下的格式來使用文件導(dǎo)入標(biāo)記
<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="admin/login.jsp" />
<jsp:include page="copyright.html" />
<jsp:include page="admin/login.jsp">
<jsp:parame name = "username" value="JackLong" />
</jsp:include>
頁面轉(zhuǎn)向標(biāo)記<jsp:forward />
實例:
<jsp:forword page="showinfo.jsp" >
<jsp:param name = "username" value = "<%=request.getParameter("username")%>"/>
<jsp:param name = "telephone" value = "<%=request.getParameter("telephone")%>"/>
</jsp:forword>