<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # JSP 指令 - `page`,`include`和`TagLib` > 原文: [https://beginnersbook.com/2013/05/jsp-tutorial-directives/](https://beginnersbook.com/2013/05/jsp-tutorial-directives/) 指令控制整個 JSP 頁面的處理。它向服務器提供有關頁面處理的指示。 **指令語法:** ```html <%@ directive name [attribute name=“value” attribute name=“value” ........]%> ``` **JSP 中有三種類型的指令:** 1)`page`指令 2)`include`指令 3)`TagLib`指令 ## 1)`page`指令 有幾個屬性,與`page`指令一起使用,它們是: + `import` + `session` + `isErrorPage` + `errorPage` + `ContentType` + `isThreadSafe` + `extends` + `info` + `language` + `autoflush` + `buffer` ### 1.`import` 此屬性用于導入包。在進行編碼時,您可能需要包含多個包。在這種情況下,此`page`指令的屬性非常有用,因為它允許您在逗號(`,`)之間用同一位置提及多個包。或者,您可以擁有多個頁面元素實例,每個實例都包含不同的包。 **導入屬性的語法:** ```html <%@page import="value"%> ``` 這里的值是包名。 **導入示例:** 以下是如何使用`page`指令的`import`屬性導入多個包的示例。 ```html <%@page import="java.io.*%> <%@page import="java.lang.*%> <%--Comment: OR Below Statement: Both are Same--%> <%@page import="java.io.*, java.lang.*"%> ``` ### 2.`session` 通常在構建用戶交互式 JSP 應用時,我們確保允許用戶訪問以獲取他/她的個人數據,直到會話處于活動狀態。考慮一個登錄到您的銀行帳戶的示例,我們可以訪問您的所有數據,直到我們退出(或會話到期)。為了維護頁面的會話,會話屬性應為`true`。 此屬性用于處理 JSP 頁面的 HTTP 會話。它可以有兩個值:`true`或`false`。會話屬性的默認值為`true`,這意味著如果您不提及此屬性,則服務器可能會認為此頁面需要 HTTP 會話。 **此屬性的默認值**:`true` **會話屬性語法:** ```html <%@ page session="value"%> ``` 這里的值是是`true`或者`false` **會話示例:** ```html <%@ page session="true"%> ``` 上面的代碼將允許頁面具有`session`隱式對象。 ```html <%@ page session="false"%> ``` 如果在 JSP 頁面中指定了此代碼,則意味著`session`對象將不可用于該頁面。因此,無法為該頁面維護會話。 ### 3. `isErrorPage` 此屬性用于指定當前 JSP 頁面是否可用作另一個 JSP 頁面的錯誤頁面。如果`isErrorPage`的值為`true`,則表示該頁面可用于其他頁面的異常處理。通常,這些頁面具有錯誤/警告消息或異常處理代碼,并且當發生異常時由另一個 JSP 頁面調用。 `isErrorPage`屬性還有另一種用法 - [`exception`隱式對象](https://beginnersbook.com/2013/11/jsp-implicit-object-exception-with-examples/)只能用于`isErrorPage`設置為`true`的那些頁面。如果值為`false`,則頁面不能使用`exception`隱式對象。 **默認值**: `false` **`isErrorPage`屬性的語法:** ```html <%@ page isErrorPage="value"%> ``` 這里的值是`true`或`false`。 **`isErrorPage`示例:** ```html <%@ page isErrorPage="true"%> ``` 這使得 JSP 頁面成為異常處理頁面。 ### 4. `errorPage`: 如上所述,當`isErrorPage`屬性對于特定頁面為`true `時,則表示在異常情況下該頁面可以被另一個頁面調用。`errorPage`屬性用于指定將`isErrorPage`屬性設置為`true`的 JSP 頁面的 URL。它處理頁面中未處理的異常。 **`errorPage`屬性的語法:** ```html <%@ page errorPage="value"%> ``` 這里的值是一個 JSP 頁面名稱,它具有異常處理代碼(并且`isErrorPage`設置為`true`)。 **`errorPage`示例:** ```html <%@ page errorPage="ExceptionHandling.jsp"%> ``` 這意味著如果在放置此代碼的 JSP 頁面上發生任何異常,則需要調用`ExceptionHandling.jsp`(此頁面應具有`isErrorPage true`)頁面。 ### 5. `contentType` 此屬性用于設置 JSP 頁面的內容類型。 **默認值**:`text/html` **`contentType`屬性的語法:** ```html <%@ page contentType="value"%> ``` 這里內容類型的值可以是諸如:`text/html`,`text/xml`等。 **`contentType`示例:** 下面的代碼可用于`text/html`頁面。 ```html <%@ page contentType="text/html"%> ``` 對于基于`text/xml`的頁面: ```html <%@ page contentType="text/xml"%> ``` ### 6. `isThreadSafe` 讓我們通過一個例子來理解這一點。假設您已經創建了一個 JSP 頁面并將`isThreadSafe`提到為`true`,這意味著 JSP 頁面支持多線程(多個線程可以同時執行 JSP 頁面)。另一方面,如果將其設置為`false`,則 JSP 引擎將不允許多線程,這意味著只有單個線程將執行頁面代碼。 **`isThreadSafe`屬性的默認值**:`true`。 **`isThreadSafe`屬性的語法:** ```html <%@ page isThreadSafe="value"%> ``` 這里的值可以是`true`或`false`。 **`isThreadSafe`示例:** ```html <%@ page isThreadSafe="false"%> ``` 只有一個線程負責 JSP 頁面執行。 ### 7. `buffer` 此屬性用于指定緩沖區大小。如果在編碼期間將此值指定為`none`,則輸出將由`JSPWriter`直接寫入`Response`對象。并且,如果指定緩沖區大小,則輸出首先寫入緩沖區,然后它將可用于`response`對象。 **`buffer`屬性的語法:** ```html <%@ page buffer="value"%> ``` 值為**大小(單位為 KB)**或`none`。 **緩沖區示例:** 此頁面沒有緩沖區: ```html <%@ page buffer="none"%> ``` 頁面的 5 kb 緩沖區大小,代碼如下: ```html <%@ page buffer="5kb"%> ``` ### 8. `extends` 像 java 一樣,這里的屬性也用于擴展(繼承)類。 **`extends`屬性的語法:** ```html <%@ page extends="value"%> ``` 值為`package_name.class_name`。 **延伸示例:** 下面的代碼將從包中繼承`SampleClass.mypackage` ```html <%@ page extends="mypackage.SampleClass"%> ``` ### 9. `info` 它提供了對 JSP 頁面的描述。當我們調用`getServletInfo()`方法時,`info`中指定的字符串將返回。 **`info`語法:** ```html <%@ page info="value"%> ``` 這里的值是消息或描述 **`info`屬性示例:** ```html <%@ page info="This code is given by Chaitanya Singh"%> ``` ### 10. `language` 它指定頁面中使用的腳本語言(基礎語言)。 **`language`語法:** ```html <%@ page language="value"%> ``` 值是這里的腳本語言。 **語言屬性示例:** ```html <%@ page language="java"%> ``` ### 11. `autoFlush` 如果為`true`,則表示緩沖區應該在滿時刷新。當緩沖區溢出時,`false`將拋出異常。 **默認值**:`true` **`autoFlush`的語法:** ```html <%@ page autoFlush="value"%> ``` 值可以是`true`或`false`。 **`autoFlush`屬性示例:** 緩沖區將在滿時刷新: ```html <%@ page autoFlush="true"%> ``` 由于溢出條件,緩沖區滿時會拋出異常 ```html <%@ page autoFlush="true"%> ``` ### 12. `isScriptingEnabled` 它已被刪除而未被使用。 ### 13. `isELIgnored` 此屬性指定是否評估表達式。 **默認值**:`true` **`isELIgnored`的語法:** ```html <%@ page isELIgnored="value"%> ``` value can be true or false. **`isELIgnored`屬性示例:** JSP 頁面中存在的任何表達式都不會被評估: ```html <%@ page isELIgnored="false"%> ``` 將評估表達式(`true`是默認值,因此無需指定): ```html <%@ page isELIgnored="true"%> ``` ## 2)`include`指令 `Include`指令用于將一個 JSP 頁面的內容復制到另一個 JSP 頁面。這就像將一個文件的代碼包含在另一個文件中。 **`include`指令的語法:** ```html <%@include file ="value"%> ``` 這里的值是需要包含的 JSP 文件名。如果文件位于同一目錄中,則只需指定文件名,否則需要在值字段中提及完整的 URL(或路徑)。 **注意:它可以在頁面的任何地方使用。** **示例:** ```html <%@include file="myJSP.jsp"%> ``` 您可以在 JSP 頁面中使用上述代碼來復制`myJSP.jsp`文件的內容。但是,在這種情況下,兩個 JSP 文件必須位于同一目錄中。如果`myJSP.jsp`位于不同的目錄中,那么您需要在上面的代碼中指定完整路徑,而不僅僅是文件名。 **必須通過示例詳細閱讀**:[`Include`指令](https://beginnersbook.com/2013/11/jsp-include-directive/ "Include directive")。 ## 3)`Taglib`指令 該指令基本上允許用戶在 JSP 中使用`Custom`標簽。我們將在即將到來的 JSP 教程中詳細討論`Custom`標簽。`Taglib`指令可幫助您在 JSP 頁面中聲明自定義標簽。 **`Taglib`指令語法:** ```html <%@taglib uri ="taglibURI" prefix="tag prefix"%> ``` 其中 URI 是統一資源定位符,用于標識自定義標簽的位置,標簽前綴是一個字符串,可以標識 URI 標識的位置中的自定義標簽。 **`Targlib`的例子:** ```html <%@ taglib uri="http://www.sample.com/mycustomlib" prefix="demotag" %> <html> <body> <demotag:welcome/> </body> </html> ``` 如您所見,URI 具有自定義標簽庫的位置,前綴標識自定義標簽的前綴。 注意:在上面的例子中 - `<demotag:welcome>`有一個前綴`demotag`。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看