程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Struts開發指南之Taglib

Struts開發指南之Taglib

編輯:JAVA編程入門知識
  TAGLIB
  
  Struts對Taglib進行了擴展, Struts提供了四種基本自定義Taglib以及兩種附加Taglib:
  
   bean:struts-bean taglib包含在訪問bean和bean屬性時使用的tag,也包含一些消息顯示的tag。
  
   Html:struts-html taglib包含用來創建struts輸入表單的tag,和其它通常用來創建基於HTML用戶界面的tag。
  
   logic:struts-logic taglib包含的tag用來治理根據條件生成輸出文本,和其它一些用來控制的信息。
  
   template:struts-template taglib包含的tag用來定義模板機制。
  
   tiles:Tiles插件,用於簡化jsp開發
  
   nested: 而Nested標記庫的作用是讓以上這些基本標記庫能夠嵌套使用,發揮更大的作用。
  
  使用taglib可以簡化jsp頁面的開發,使得jsp包含最少的代碼。
  
  如,在JSP開發過程中,虛擬目錄是相對於Domain的。假如http://localhost/context1/test.jsp執行href="/”則會返回到http://localhost/,如何返回到http://localhost/context1/呢? 這樣我們就可以用<html:link page="/" >按照相對於虛擬目錄的url來定位。
  
  I18n支持
  
  假如要顯示一套支持i18n的界面,首先要定義一個ApplicationResource文件,將信息以key=value的形式放入。在struts-config.XML中指定resoUCes的地址,即可用<bean:message key="welcome">這樣的tag來顯示,而不需要將信息固化在JSP文件中。
  
  TILES:
  
  Tiles中對頁面的劃分有點象jakarta的另外一個項目Turbine中的TDK。增加了layout的概念。
  
  其實就是把一個頁面劃分為幾塊。 通常的來說一個頁面大概可以劃分為如下幾塊:
  
   head頁面頭部:存放一個運用的公共信息:Logo等,假如是網站可能是最上面的一塊.
  
   menu頁面菜單:放置一個運用中需要使用的菜單,或者在每一個頁面都使用的連接.
  
   footer頁面尾部:如版權信息等.
  
   body頁面主題內容:每個頁面相對獨立的內容.
  
  假如按上面的劃分那對每一個頁面我們只要寫body裡面的內容,其他的就可以共享重用.
  
  假如大多數頁面的布局基本相同我們甚至可以使用一個jsp文件根據不同的參數調用不同的body.
  
  Tiles除了替代Template的基本模板功能外,還增加了布局定義、虛擬頁面定義和動態頁面生成等功能。
   
  Tiles強大的模板功能能夠使頁面獲得最大的重用性和靈活性,此外可以結合Tiles配置文件中的頁面定義和Action的轉發邏輯,即你可以將一個Action轉發到一個在Tiles配置文件中定義的虛擬頁面,從而減少頁面的數量。比如,下表中的Action定義了一個轉發路徑,它的終點是tile.userMain,而後者是你在Tiles配置文件中定義的一個頁面。
  
  EXCEPTION
  
  異常處理在Struts1.1中得到了很好的支持
  
  可以在配置文件中指定由誰來處理Action類中擲出的某種異常。按照以下步驟來完成該功能:
  
  1 實現org.apache.struts.action.ExceptionHandler的子類,覆蓋execute方法,在該方法中處理異常並且返回一個ActionForward對象
  
  2 在配置文件中配置異常處理對象,你可以配置一個全局的處理類或者單獨為每個Action配置處理類
  
  下表就定義了一個全局的處理類CustomizedExceptionHandler,它被用來處理所有的異常。
  
  <global-exceptions>
  <exception
  handler="com.yourcorp.CustomizedExceptionHandler"
  key="global.error.message"
  path="/error.jsp"
  scope="request"
  type="Java.lang.Exception"/>
  </global-exceptions>
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved