<tbody id="j99e4"></tbody>

<dd id="j99e4"></dd>

  • <button id="j99e4"><object id="j99e4"></object></button>
      1. <th id="j99e4"></th>
        <button id="j99e4"><acronym id="j99e4"></acronym></button><rp id="j99e4"><object id="j99e4"><input id="j99e4"></input></object></rp>
        當前位置:首頁 > IT技術 > Web編程 > 正文

        4. JSP常用標簽 | 常用標簽 常用 常用 常用!
        2022-05-31 17:18:27

        什么是JSP標簽

        JSP標簽,有的地方也叫做JSP動作,在JSP中編寫大量的java代碼會使JSP頁面顯得雜亂無章,看起來非常不舒服,因此JSP提供了一些類似html的標簽,通過這些標簽能夠替代部分java代碼實現功能。
        語法格式如下:

        <jsp:標簽名稱?屬性名=屬性值?...?></jsp:標簽名稱>

        ?

        <jsp:標簽名稱?屬性名=屬性值?...?/>

        ?

        那么常用的JSP標簽有哪兒些:

        在JSP中有很多JSP標簽,但是常用的主要有下面兩個:

        ?

        < jsp:forward>

        forward 是前進的意思? 我們轉發的時候已經見過了??!
        該標簽的作用是把請求轉發給另外一個資源,頁面中使用該指令之后,當前頁面中的所有要顯示的內容都將無法顯示,因為會直接轉發到了另一個頁面。

        創建一個index.jsp文件

         

        <%@?page?language="java"?contentType="text/html;?charset=UTF-8"
        ????pageEncoding="UTF-8"%>
        ????
        ?

        <!DOCTYPE?html>
        <html>
        <head>
        <meta?charset="UTF-8">
        <title>Insert?title?here</title>
        </head>
        <body>

        <%--?普通P標簽?不會顯示!?因為下面又轉發語句?只轉發請求頭喲~~?--%>
        <p>我是index中的p標簽~~</p>

        <%--?請求頭設置屬性?--%>
        <%?request.setAttribute("name",?"Bi-Hu");?%>

        ????
        ????<%--?實現轉發功能!?--%>
        <jsp:forward?page="/jsp2.jsp"></jsp:forward>
        ????????
        </body>
        </html>

        jsp2.jsp:

        <%@?page?language="java"?contentType="text/html;?charset=UTF-8"
        ????pageEncoding="UTF-8"%>
        <!DOCTYPE?html>
        <html>
        <head>
        <meta?charset="UTF-8">
        <title>Insert?title?here</title>
        </head>
        <body>


        ????<p>
        ????我是?j?s?p?2?的?p?標?簽?!?是的?這里沒有index頁面的內容?除了我獲取的請求頭的name:
        ????</p>

        ????
        ????

        ????????<%--?獲取請求頭的Attribute?和?打印出來?~~?--%>
        ?????<%?String?attribute?=?(String)request.getAttribute("name");?%>
        ?????<%=?attribute?%>


        </body>
        </html>

        ?

        在代碼可以看到! 其實和轉發差不多沒兩樣~~~ JSP 聽說只有 轉發 沒有 重定向~

        接下來看第二個:

        < jsp:include>

        這就是動態包含了! 之前學了靜態的 靜態會何為一個java文件 而!動態不會! 所以他會有這些特性:

        該標簽用于把另外一個文件引入到當前JSP里面,這種引入方式叫做動態引入:

        我們寫一個s1.jsp? 和? s2.jsp ,然后都在里面寫:

        s1.jsp:

        ?

        <%@?page?language="java"?contentType="text/html;?charset=UTF-8"
        ????pageEncoding="UTF-8"%>
        <!DOCTYPE?html>
        <html>
        <head>
        <meta?charset="UTF-8">
        <title>Insert?title?here</title>
        </head>
        <body>

        <%--?我們在這里動態包含s2.jsp:?然后分別打印s1?和?s2?中的?打印sum:
        ?????還是那句話?,引入和調用的內個順序別弄混?最好就在頭部就包含好!【動態無關緊要?靜態包含就要注意!】
        ?--%>
        ????
        ????<jsp:include?page="/s2.jsp"></jsp:include>
        ????
        ????<%--?打印sum?--%>
        ????
        ????<%?int?sum?=?100;?%>
        ????
        ????<%=?"第一次打印?s1?的?SUM:?"?+?sum?%>
        ????<br>
        ????<%=?"第二次打印?s1?的?SUM:"?+?sum?%>
        </body>
        </html>

        ?

        ?

        ?

        s2.jsp:

        ?

        <%@?page?language="java"?contentType="text/html;?charset=UTF-8"
        ????pageEncoding="UTF-8"%>
        <!DOCTYPE?html>
        <html>
        <head>
        <meta?charset="UTF-8">
        <title>Insert?title?here</title>
        </head>
        <body>
        ????
        ????<%?int?sum?=?200;?%>
        ????<br>
        ????<%="s2的sum:"?+??sum?%>
        ????<br>
        </body>
        </html>

        ?

        ?

        所以呢: 總結出: 動態應用 他的文件是分開的 不合體了 ,即就是說 變量是獨立的了 自己文件的變量只能自己文件使用!

        打開生成java文件的目錄可以看到,生成了兩個jsp文件,分別是s1.java和s2.java
        可以得出結論,該指令的引入是在運行期完成的,而非在編譯期。這個引入指令,是在程序運行過程中,由 index_jsp 文件中的_jspService()方法通過 JspRuntimeLibrary 類的 include()方法調用了 left_jsp 文件中的_jspService()方法。在運行期所執行的這種引入,稱為動態引入。

        ?

        ? ? ?org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/s2.jsp", out, false);

        就是這句了 ↑↑↑↑↑↑↑↑↑↑↑↑

        ?

        動態引用和靜態引用的區別:

        動態引入和靜態引入的區別

        靜態引入:

        <%@?include?file="/xxx.jsp"?%>

        ?

        靜態引入會生成一個java文件,兩個jsp文件中可以共享同一個變量,但不能定義重名的變量。

        動態引入:

        <jsp:include?page="/xxx.jsp"/>

        動態引入會生成兩個java文件,兩個jsp文件中不可以共享同一個變量,可以定義重名的變量。

        在靜態引入與動態引入均可使用時,一般使用靜態引入。因為在程序運行時只存在一個Servlet,對資源的消耗較少,且不存在調用問題,執行效率較高。

        ?


        作者:??咸瑜??


        本文摘自 :https://blog.51cto.com/u

        亚洲人成图偷偷小说_亚洲图片小说激情综合_国产精品亚洲自在线播放页码_久久综合亚洲色hezyo国产
        <tbody id="j99e4"></tbody>

        <dd id="j99e4"></dd>

      2. <button id="j99e4"><object id="j99e4"></object></button>
          1. <th id="j99e4"></th>
            <button id="j99e4"><acronym id="j99e4"></acronym></button><rp id="j99e4"><object id="j99e4"><input id="j99e4"></input></object></rp>