2010-04-11 23 views
1

任何人都知道HTML元素的體面的Java libarary?用於HTML元素/標籤的Java庫libarery

防爆,如果我想創建一個img元素,我會去新的圖像(...)

對象應該支持正常的HTML功能/特性,如設置CSS或禁用。

回答

2

​​聽起來像你在找什麼。

0

嘗試cobra

眼鏡蛇是一個純Java的HTML渲染器和DOM解析器正被 開發了支持HTML 4,JavaScript和CSS 2

眼鏡蛇可以作爲一個Javascript感知和CSS感知HTML解析器,獨立於眼鏡蛇渲染引擎的 。 Javascript DOM 在分析過程中發生的修改(例如,通過document.write)將 反映在解析的DOM中,除非Javascript被禁用。

0

你沒有詳細說明爲什麼你需要這個,但聽起來像你想以編程方式創建一個網站,特別是你想要它基於組件,以便每個類封裝相應標記的功能。

有兩種方法可以去,一種是基於預製組件的web框架,這是首選方式,因爲這些東西已經有很多東西想出來併爲您實現。例如,Apache WicketApache TapestryGoogle Web Toolkit都是基於組件的僅僅僅舉幾例。

你可以採取的另一種方法是自己推出。在這種情況下,你很有可能會失去上述框架提供的許多靈活性,但是再一次,你有一段代碼將完全按照你的意願去做。因此,對於推出自己的確切目的,你提到的我會做到以下幾點:

  1. 採取任何DOM操作庫,如JDOMDOM4JXOM等。當然,你可以使用Java的原生一個也是如此,但是大量使用屁股會導致巨大的痛苦。
  2. 爲每個單獨的標記(如圖像)編寫工廠方法/包裝類。例如,這可以是使用JDOM的Image類內容:

public interface MyElement<T extends org.jdom.Content> { 
    T getElement(); 
} 

public class Image implements MyElement<org.jdom.Element> { 

    private final String source; 

    public Image(String source) { 
     this.source = source; 
    } 


    public org.jdom.Element getElement() { 
     return new Element("img").setAttribute("src", source); 
    } 
} 

,並在描述整個頁面,那麼你會添加和實例這個類的一個列表/樹結構中的某些組件類,然後只是最後調用getElement()來獲取標記特定標記(如適用)。請注意,這比聽起來要困難得多,主要是因爲需要嵌套的XML結構。