• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何用JSP將內容導入Web站點

    發表于:2007-06-13來源:作者:點擊數: 標簽:
    JSTL轉換粘結劑(redux) 清單 1. 經常轉換索引頁(請注意jsp:include元素) %@ page language="java" contentType="text/html" % %@ taglib prefix="c" uri="http://java.sun.com/jstl/core" % html head titlenewInstance.com/title meta http-equiv="Conten

    JSTL轉換粘結劑(redux)

    清單 1. 經常轉換索引頁(請注意jsp:include元素)



    <%@ page language="java" contentType="text/html" %>

    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

    <html>

    <head>

    <title>newInstance.com</title>

    <meta http-equiv="Content-Type"

    content="text/html; charset=iso-8859-1" />

    <link href="/styles/default.css" rel="stylesheet" type="text/css" />

    </head>

    <body>

    <jsp:include page="header.jsp" flush="true">

    <jsp:param name="pageTitle" value="newInstance.com"/>

    <jsp:param name="pageSlogan" value=" " />

    </jsp:include>

    <%@ include file="/navigation.jsp" %>

    <c:import url="bookshelf.jsp" />

    <c:import url="/mt-blogs/index.jsp" />

    <%@ include file="/footer.jsp" %>

    </body>

    </html>



    轉換參數標記

    由于已經轉換了使用 c:import 而不是 jsp:include 標記的幾乎整個索引文件,因此,我們最后的工作就是轉變仍然傳遞 jsp:include 元素的參數,即采用 c:import 標記來模仿 jsp:include 的特性。如清單2所示,我們需要將 jsp:param 轉換為 c:param ;因為 c:param 函數類似于JSP的相應功能,因而我們可以輕松處理。

    清單2表明,清單1的索引文件已完全轉換為JSTL:



    清單 2. 完整的JSTL轉換



    <%@ page language="java" contentType="text/html" %>

    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

    <html>

    <head>

    <title>newInstance.com</title>

    <meta http-equiv="Content-Type"

    content="text/html; charset=iso-8859-1" />

    <link href="/styles/default.css" rel="stylesheet" type="text/css" />

    </head>

    <body>

    <c:import url="header.jsp">

    <c:param name="pageTitle" value="newInstance.com"/>

    <c:param name="pageSlogan" value=" " />

    </c:import>

    <%@ include file="/navigation.jsp" %>

    <c:import url="bookshelf.jsp" />

    <c:import url="/mt-blogs/index.jsp" />

    <%@ include file="/footer.jsp" %>

    </body>jsp:include

    </html>



    不過您一定要記著, c:paramjsp:param 非常相似?,F在,讓我們進一步研究 c:import 的更多新功能。

    導入外部內容

    使用 c:import 的真正優勢在于,它可以引入外部Web站點的內容或Web應用程序。在前面學習jsp:includes時,您可能已經注意到,我們使用file(文件)屬性來為include指定靜態內容。file(文件)屬性正如其名稱所示:使您可以引入本地文件的內容。 c:import 的相應屬性為 url ,它也正如其名稱所示:使您能夠引入任何URL。 c:import 不僅可以使用本地文件的內容來填充您的站點網頁,而且還允許您引入任何URL的內容,使其它站點的內容可以真正靈活地適應您自己站點的外觀和風格。

    讓我們舉一個實例。我把馬達加斯加島紅木吉他的一些美麗圖片放到我的Web站點。當我制作自己的網頁并完成一些圖像文件和相關鏈接之后,我可以輕松地引入另一個站點的內容,然后使其適合自己站點的外觀和風格。清單3表明,使用 c:importurl 屬性,可以多么容易地引入我所相中的吉他站點的圖像文件:

    清單 3. 導入外部內容



    <%@ page language="java" contentType="text/html" %>

    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

    <html>

    <head>

    <title>newInstance.com</title>

    <meta http-equiv="Content-Type"

    content="text/html; charset=iso-8859-1" />

    <link href="/styles/default.css" rel="stylesheet" type="text/css" />

    </head>

    <body>

    <c:import url="header.jsp">

    <c:param name="pageTitle"

    value="newInstance.com :: True North Guitars"/>

    <c:param name="pageSlogan" value="...building it from scratch" />

    </c:import>

    <%@ include file="/navigation.jsp" %>

    <c:import url="bookshelf.jsp" />

    <c:import

    url="http://www.truenorthguitars.com/Clients/Richman/index.htm" />

    <%@ include file="/footer.jsp" %>

    </body>

    </html>



    這些代碼看上去沒有問題—— 但是,如果您試著在自己站點運行,您很快就會發現問題。所有圖像都不顯示,并且相關鏈接全部出現故障。當然,如果仔細想想,原因很很簡單。因為外部資源(本例中是圖像文件)被解釋(interpreted),而您將解釋結果直接導入您的輸出流。外部圖像文件鏈接如 /images/guitar-01-24.jpg 將顯示不存在。解決該問題的唯一方法是將原圖像復制到您的站點,與簡單的導入相比,這是一項完全不同(并且消耗更多時間)的技術。

    因此,最好知道要導入的外部內容是否是純文本。例如,要考慮連接到系統管理員的站點及其本身的頭文件、腳注文件、外觀和風格。該站點的網頁詳細說明如何設置 README 文件,以便用戶可以查看如何使用該站點。您可以參考以下現有FTP站點的說明:



    <c:import url="ftp://ftp.oreilly.com/pub/README.ftp" />



    請注意,這非常簡單,就如同引入HTTP材料一樣導入FTP服務器內容。您可以使用同樣的HTTPS命令以及您的站點和目標站點可以識讀的任何其它協議。

    為什么要采用JSTL?

    在核心JSP標記上使用JSTL有以下幾大優勢。首先,JSTL現在采用獨立于JSP標記的規范來定義。因此,即使JSP規范發生改動,也可以保證 JSTL標記的一致性。容易受到JSP容器變更影響的許多應用程序都將受益于JSTL規范.其次,JSTL具有比核心JSP標記更強大的功能,正如您在最佳實踐系列中所視, c:import不僅 可以導入其它站點的URL,而且,它還可以導入 jsp:include 標記不可用的更為復雜的內容。最后,JSTL使用自己的表達式語言(通常簡稱為EL)。JSTL EL可以相當靈活地寫入JSP代碼,是對核心JSP語言的有力補充。

    (責任編輯:城塵)



    原文轉自:http://www.kjueaiud.com

    ...
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>