<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # JSP ## 什么是 JSP JSP:Java Server Page(java服務器頁面),是一個動態的網頁技術標準。 其他的 Web 服務器頁面技術:php/asp/ruby/python。 簡單的去理解 JSP就是 HTML+Java 代碼。 ## JSP 頁面書寫規范 以 `.jsp` 作為文件的后綴 文件中使用 `<%%>` 包裹 java 代碼 # Scriptlet 在 JSP 中可以包含的 Java 的腳本類型 ## <%%> 可以包裹任意的 Java 代碼 ## <%=%> 直接輸出內容,一般其中可以是變量、表達式,注意這種 Scriptlet 后面是沒有結束符號 ; 的。 ## <%!%> 在此內部定義變量、定義方法、定義類等,現在不用了。 # Page 指令 ## ContentType 和 pageEncoding 定義頁面的流模式和字符編碼方式 ~~~ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ~~~ 定義頁面是 text/html 的流模式,字符編碼是 UTF-8 ## import 導入在 Scriptlet 中用到的 jar 包 # 包含指令 ## 靜態包含 include include 是包含頁面的指令,屬于靜態頁面引入。 頁面引入的好處在于:可以把多個頁面共同的部分抽象出來定義。 ~~~ <%@include file="head.jsp" %> <h1>content</h1> <%@include file="foot.jsp" %> ~~~ ## 動態包含 <jsp:include /> ~~~ <% String str = "HELLO"; %> <jsp:include page="head.jsp"></jsp:include> <h1><%=str %>,CONTENT</h1> <jsp:include page="foot.jsp"></jsp:include> ~~~ ## 靜態引入和動態引入的區別 在靜態引入中,子頁面是原封不動的把頁面的信息放到了父頁面中,父頁面把所有頁面的頁面信息都收集完成后,統一的進行解析,完成頁面的輸出。這樣,如果在不同的頁面中定義了相同名稱的變量,那么就會產生沖突。 但是在動態引入中,由于每一個頁面都是單獨的進行解析的。再交給父頁面合成生成一個 HTML 頁面,每個子頁面和父頁面中定義的 Scriptlet 是不會產生沖突的。 > 在實際的開發中,我們一般都是用動態的引入。 # 跳轉指令 在之前學習的跳轉中,都是客戶端瀏覽器發起的頁面跳轉,可以 A 標簽、或者 JavaScript 腳本去完成。 ## jsp:forward 使用 jsp:forward 進行服務器端的頁面跳轉。 ~~~ <% String ageStr = request.getParameter("age"); String name = request.getParameter("name"); int age = Integer.valueOf(ageStr); if (age < 18) { %> <jsp:forward page="n18.jsp?name=<%=name %>"/> <% } else { %> <jsp:forward page="y18.jsp"> <jsp:param value="<%=name %>" name="name"/> </jsp:forward> <% } %> ~~~ > jsp:forward 屬于服務器內部的請求跳轉,不會在瀏覽器的地址欄留下任何跳轉的痕跡。 > ## 參數定義 使用 jsp:param 標簽傳遞參數。 ## 總結 - 地址欄不改變的跳轉屬于服務器跳轉; - 地址欄改變的跳轉屬于客戶端跳轉; - 一般使用服務器端的跳轉進行業務邏輯的處理,完成目標視圖的輸出。
                  <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>

                              哎呀哎呀视频在线观看