溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JSP中指令和標(biāo)簽的示例分析

發(fā)布時間:2021-11-22 09:59:25 來源:億速云 閱讀:162 作者:小新 欄目:編程語言

這篇文章主要介紹了JSP中指令和標(biāo)簽的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Ⅰ.JSP課程—JSP指令

1.JSP指令的基本語法格式:

<%@指令屬性名="值"%>

舉例:

<%@pagecontentType="text/html;charset=gb2312"%'>%@pagecontentType="text/html;charset=gb2312"%>

注意:屬性名部分是大小寫敏感的。

2.在目前的JSP2.0中,定義了page、include和taglib這三種指令,每種指令中又都定義了一些各自的屬性。

3.如果要在一個JSP頁面中設(shè)置同一條指令的多個屬性,可以使用多條指令語句單獨設(shè)置每個屬性,也可以使用同一條指令語句設(shè)置該指令的多個屬性。

<1>***種方式:

<%@pagecontentType="text/html;charset=gb2312"%> <%@pageimport="java.util.Date"%>

<2>第二種方式:

<%@pagecontentType="text/html;charset=gb2312"import="java.util.Date"%>

4.page指令:

<1>定義:用于定義JSP頁面的各種屬性,無論page指令出現(xiàn)在JSP頁面中的什么地方,它作用的都是整個JSP頁面,為了保持程序的可讀性和遵循良好的編程習(xí)慣,page指令***是放在整個JSP頁面的起始位置。

<2>JSP2.0規(guī)范中定義的page指令的完整語法:

<%@page  [language="java"]  [extends="package.class"]  [import="{package.class|package.*},..."]  [session="true|false"]  [buffer="none|8kb|sizekb"]  [autoFlush="true|false"]  [isThreadSafe="true|false"]  [info="text"]  [errorPage="relative_url"]  [isErrorPage="true|false"]  [contentType="mimeTyp[;charset=characterSet]"|"text/html;charset=ISO-8859-1"]  [pageEncoding="characterSet|ISO-8859-1"]  [isELIgnored="true|false"]  %>

5.include指令:

<1>定義:include指令用于通知JSP引擎在翻譯當(dāng)前JSP頁面時將其他文件中的內(nèi)容合并進(jìn)當(dāng)前JSP頁面轉(zhuǎn)換成的Servlet源文件中,這種在源文件級別進(jìn)行引入的方式稱之為靜態(tài)引入,當(dāng)前JSP頁面與靜態(tài)引入的頁面緊密結(jié)合為一個Servlet。

<2>語法:

<%@includefile="relativeURL"%>

其中的file屬性用于指定被引入文件的相對路徑。

Ⅱ.JSP課程——JSP標(biāo)簽:

1.JSP還提供了一種稱之為Action的元素,在JSP頁面中使用Action元素可以完成各種通用的JSP頁面功能,也可以實現(xiàn)一些處理復(fù)雜業(yè)務(wù)邏輯的專用功能。

2.Action元素采用XML元素的語法格式,即每個Action元素在JSP頁面中都以XML標(biāo)簽的形式出現(xiàn)。

3.JSP規(guī)范中定義了一些標(biāo)準(zhǔn)的Action元素,這些元素的標(biāo)簽名都以jsp作為前綴,并且全部采用小寫,例如,<jsp:include>、<jsp:forward>等等。

4.JSP標(biāo)簽內(nèi)容:

<1><jsp:include>標(biāo)簽用于把另外一個資源的輸出內(nèi)容插入進(jìn)當(dāng)前JSP頁面的輸出內(nèi)容之中,這種在JSP頁面執(zhí)行時的引入方式稱之為動態(tài)引入。
語法:

<jsp:includepagejsp:includepage="relativeURL|<%=expression%>"flush="true|false"/>

page屬性用于指定被引入資源的相對路徑,它也可以通過執(zhí)行一個表達(dá)式來獲得。
flush屬性指定在插入其他資源的輸出內(nèi)容時,是否先將當(dāng)前JSP頁面的已輸出的內(nèi)容刷新到客戶端。

<2><jsp:forward>標(biāo)簽用于把請求轉(zhuǎn)發(fā)給另外一個資源。

語法:

<jsp:forwardpagejsp:forwardpage="relativeURL|<%=expression%>"/>

page屬性用于指定請求轉(zhuǎn)發(fā)到的資源的相對路徑,它也可以通過執(zhí)行一個表達(dá)式來獲得。

<3><jsp:param>標(biāo)簽:

當(dāng)使用<jsp:include>和<jsp:forward>標(biāo)簽引入或?qū)⒄埱筠D(zhuǎn)發(fā)給的資源是一個能動態(tài)執(zhí)行的程序時,例如Servlet和JSP頁面,那么,還可以使用<jsp:param>標(biāo)簽向這個程序傳遞參數(shù)信息。

語法1:

<jsp:includepagejsp:includepage="relativeURL|<%=expression%>"> <jsp:paramnamejsp:paramname="parameterName"value="parameterValue|<%=expression%>"/> </jsp:include>

語法2:

<jsp:forwardpagejsp:forwardpage="relativeURL|<%=expression%>"> <jsp:paramnamejsp:paramname="parameterName"value="parameterValue|<%=expression%>"/> </jsp:include>

<jsp:param>標(biāo)簽的name屬性用于指定參數(shù)名,value屬性用于指定參數(shù)值。在<jsp:include>和<jsp:forward>標(biāo)簽中可以使用多個<jsp:param>標(biāo)簽來傳遞多個參數(shù)。

Ⅲ.JSP課程—JSP中文亂碼問題:

1.JSP程序存在有與Servlet程序完全相同的中文亂碼問題:

<1>輸出響應(yīng)正文時出現(xiàn)的中文亂碼問題;

<2>讀取瀏覽器傳遞的參數(shù)信息時出現(xiàn)的中文亂碼問題。

2.JSP引擎將JSP頁面翻譯成Servlet源文件時也可能導(dǎo)致中文亂碼問題:

<1>JSP引擎將JSP源文件翻譯成的Servlet源文件默認(rèn)采用UTF-8編碼,而JSP開發(fā)人員可以采用各種字符集編碼來編寫JSP源文件,因此,JSP引擎將JSP源文件翻譯成Servlet源文件時,需要進(jìn)行字符編碼轉(zhuǎn)換。

<2>如果JSP文件中沒有說明它采用的字符集編碼,JSP引擎將把它當(dāng)作默認(rèn)的ISO8859-1字符集編碼處理。

3.如何解決JSP引擎翻譯JSP頁面時的中文亂碼問題。

<1>通過page指令的contentType屬性說明JSP源文件的字符集編碼;

<2>page指令的pageEncoding屬性說明JSP源文件的字符集編碼;

<3>在部署描述符中說明一組JSP源文件的字符集編碼。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“JSP中指令和標(biāo)簽的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

jsp
AI