用于HTML元素/标签的Java库

时间:2010-04-11 07:15:08

标签: java html tags

任何人都知道HTML元素的体面Java库吗?

如果我想创建一个img-element,我会去新的Image(...)

该对象应支持普通的HTML功能/属性,例如设置CSS或禁用。

3 个答案:

答案 0 :(得分:2)

Jakarta ECS听起来就像你在寻找的那样。

答案 1 :(得分:0)

尝试cobra

  

Cobra是一个纯Java HTML渲染器和DOM解析器   开发用于支持HTML 4,Javascript和CSS 2。

     

Cobra可以用作支持Javascript和CSS的HTML解析器,   独立于Cobra渲染引擎。 Javascript DOM   解析期间发生的修改(例如通过document.write)将会   反映在解析的DOM中,除非Javascript被禁用。

答案 2 :(得分:0)

您没有明确说明为什么需要这个,但听起来您希望以编程方式创建一个网站,特别是您希望它基于组件,以便每个类封装相应标记的功能。

有两种方法,一种是基于预制组件的Web框架,这是首选的方式,因为这些东西已经有很多东西需要考虑并为您实现。例如,Apache WicketApache TapestryGoogle Web Toolkit都是基于组件的组件。

你可以采用另一种方法来推动自己。在这种情况下,您很可能会失去前面提到的框架所提供的很多灵活性,但是再一次,您有一段代码可以完全按照您的要求进行操作。因此,为了完全按照你提到的目的推出自己的目的,我会做以下事情:

  1. 使用任何DOM操作库,例如JDOMDOM4JXOM等。您当然也可以使用Java的本机库,但这主要是使用它时的巨大痛苦广泛。
  2. 为每个单独的标记写入工厂方法/包装类,例如image。例如,这可能是使用JDOM的Image类内容:
  3. 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所需的嵌套结构。