国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

高手進階篇:Jive中Jdom使用方法解析

2019-11-18 12:51:00
字體:
來源:轉載
供稿:網友

  聞名的Open Source論壇Jive有很多東西值得我們分析和學習,通過分析其Jdom的使用機制,我們可以自如方便的讀寫xml配置文件,從而實現下列一些功能:
  
  在配置文件中設置系統語言版本屬性,不同語言版本,系統界面文字不一樣,可以定義自己國家的文字,比如英文版中文簡體版。這樣,可以很方便的將一個系統延伸到各種語言,不用直接修改程序,只要修改XML配置文件就可以。
  
  在配置文件中設置郵件內容,通常一個系統都有各種自動郵件分發,比如用戶注冊成功后,會有一封Email發送到他的信箱,這套系統安裝在不同客戶場合,Email的內容當然不一樣,如A客戶使用了這套系統,當然希望在Email中有A客戶的單位名稱,這些都不必修改程序可以完成。
  
  設置系統的可選屬性,一個系統安裝在不同客戶場合中,客戶的要求總有些不一樣,有些功能是可選的,那么當然這些都要設置在XML配置文件中。
  
  使用XML存放樹形結構記錄是最方便的,尤其對于那些目錄分類系統,如Yahoo,在大分類中有小分類,或者直接是元素我們知道關系數據庫是不擅長存放樹形數據,在關系數據庫中,典型做法是采取兩個表:一個表記錄每個cell;一個表指明其前后關系;但是我們一旦要從這兩張表展開樹形結構,將要在空間和時間上反復平衡。
  
  假如使用XML作為數據源,就很方便解決這個問題,假如配合對XML數據源有很方便的增、修、等功能,那么我們當然選擇XML,實際上,Jdom就方便地提供了這個工具.Jdom是類似DOM SAX之類的XML解析辦法,只適合java語言,Jdom的特點就是簡單方便。
  
  那么,讓我們來看看Jive是怎么實現上面功能的吧,它是把這些屬性都寫在一個叫jive_config.xml的文件中。這個XML文件的排列方式和使用方式是這樣:
  
  XML文件內容格式:
  
  <!-- root element, all properties must be under this element -->
  <jive>
  <email>
  <fromName>Jive_Administrator</fromName>
  <fromEmail>webmaster@example.com</fromEmail>
  <subject>Your thread was updated!</subject>
  <body>Hello {name}! The thread {threadName} was updated!</body>
  </email>
  <jive>
  
  其中:
  
  <jive></jive>
  
  是根元素,所有的屬性必須在其中。使用方式也比較簡單,使用標點符號“.”來間隔。比如我們要得到上面的webmaster@example.com的值,那么使用email.fromEmail就可以。在Jive中,具體語句就是JiveGlobals.getJive  
  這里要害的是一個使用Jdom來解析XML文件的類:XMLProperties ,其中實現了幾個主要操作方法:
  
  獲得(查詢):getProperty(name) ;
  
  新增修改:properties.setProperty(name, value);
  
  刪除:properties.deleteProperty(name) ;
  
  這幾個方法是不是很類似Hasntable的方法?Hashtable中數據是存放在內存中,而XML是存放在文件系統,無疑我們可以象使用hashtable一樣方便的使用XML。
  
  XMLProperties我們可以原封不動的拷貝到我們系統中。唯一要做的就是編制類似Jive的JiveGlobals,其實這也很簡單,分兩步:先load取出XML文件;然后就提供getProperty(name)等方法。如
  
  public class JiveGlobals {
  private static final String JIVE_CONFIG_FILENAME = "jive_config.xml";
  ....
  
  public static String getJiveProperty(String name) {
  loadProperties();
  return properties.getProperty(name);
  }
  ....
  
  private synchronized static void loadProperties() {
  if (properties == null) {
  //Create a manager with the full path to the xml config file.
  properties = new XMLProperties(jiveHome + File.separator +
  JIVE_CONFIG_FILENAME);
  }
  }
  }
  
  當然,所有這些前提,是到http://www.jdom.org下載Jdom包,并加入到Tomcat的common/lib中,或者放入Classpath中。
  
  其他輔助文件有:DataFormatFilter.java DataUnformatFilter.java XMLFilterBase.java。假如你對Jdom具體每一句是如何使用的,可以仔細研究XMLProperties,很輕易理解的.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上高县| 安阳市| 恩平市| 博客| 泾川县| 工布江达县| 丹阳市| 德钦县| 邓州市| 凤城市| 宣恩县| 勐海县| 都江堰市| 股票| 周至县| 郓城县| 将乐县| 克什克腾旗| 合山市| 富锦市| 太仆寺旗| 扎赉特旗| 稻城县| 永和县| 罗城| 乌兰察布市| 吉木乃县| 陆河县| 丹寨县| 桑植县| 商城县| 泰来县| 辽阳市| 凤山市| 泰州市| 云梦县| 布尔津县| 乾安县| 苏尼特左旗| 敦煌市| 宣化县|