JSP最佳實務: taglib簡介

來源:互聯網
上載者:User

簡介:Scriptlet對於快而雜(fast-and-dirty)的編碼來說是一種不錯的選擇,但是從長遠來看,您需 要為您的JSP頁面選擇一種不那麼雜亂的解決方案。在本期的 JSP最佳實務中,BrettMcLaughlin 向您展示 了如何將scriptlet轉化成JSP自訂標籤,然後將其用於您的JSP開發中。

在 JSP最佳實務的 上一期,您學習了一種基於scriptlet的技術,這種技術被用來將上次修改的時間 戳添加到JavaServer Page(JSP)檔案中。不幸的是,比起它所提供的短期利益,scriptlet會將更多的 長期複雜性引入到您的頁面中來。這些scriptlet會用Java代碼將各種類型的HTML混雜在一起,從而使得 程式的調試和設計極其錯綜複雜。scriptlet不能重用,這常常導致開發人員不得不在JSP頁面之間進行複製 -粘貼操作,進而導致同一段代碼出現多個版本。而且,scriptlet還加大了錯誤處理的難度,因為JSP沒 有提供乾淨利落的方式來報告指令碼錯誤。

因此,這次我們將設計一種新的解決方案。在本期的 JSP最佳實務中,您將學習一些基礎知識,主要 是關於如何將scriptlet轉換成自訂標籤,並對其進行設定以便在您的JSP開發項目中使用。

為什麼使用taglib?

所謂 標記庫(tag library),是指由在JSP頁面中使用的標記所組成的庫。JSP容器推出時帶有一個 小型的、預設的標記庫。而 自訂標籤庫是人們為了某種特定的用途或者目的,將一些標記放到一起而 形成的一種庫。在一個團隊中協同工作的開發人員們可能會為各自的項目建立一些非常特定化的自訂標籤 庫,同時也會建立一個通用自訂標籤庫,以供當前使用。

JSP 標記替代了scriptlet,並緩解了由scriptlet所招致的所有令人頭痛的事情。例如,您可以看到 這樣的標記:

<store:shoppingCart id="1097629"/>

或者這樣的標記:

<tools:usageGraph />

每個標記都包含了指向一個Java類的引用,但是類中的代碼仍然在它該在的地方:在標籤之外,一個 編譯好的類檔案之中。

從 scriptlet 到標記

建立一個自訂標籤的第一步就是決定您想怎樣使用它,如何稱呼它,以及它允許使用或者需要什麼 屬性(如果有的話)。對於時間戳記標記,我們所需要的很簡單:只要一個能夠輸出一個頁面的最後修改數 據的簡單標記。

因為不需要屬性,這個標記看上去就是這個樣子:

<site-utils:lastModified />

這個標記的名稱和首碼是一樣的:都是 site-utils 。元素的內容是空的,這意味著該元素中不允許 有子項目存在。定義了這個標記之後,接下來的一步就是實現它的行為。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.