我想在我的jsf托管bean中动态创建HtmlDivElement的对象并将其添加到面板,但似乎HtmlDivElement是接口。那么,我该怎么做呢?
答案 0 :(得分:10)
这是一个相当大的混乱。 org.w3c.dom.html.HTMLDivElement
不是JSF组件。这表示W3 DOM元素具有完全不同的目的(JAXP,DOM解析)。
你需要一个javax.faces.component.UIComponent
的子类(只需点击上面链接的Javadoc中的“Direct Known Subclasses”,就可以找到它们)。要呈现HTML <div>
元素,只需使用layout
属性设置为block
的{{3}}。
HtmlPanelGroup div = new HtmlPanelGroup();
div.setLayout("block");
someParentComponent.getChildren().add(div);
与“静态”JSF中的以下内容有效相同:
<h:panelGroup layout="block" />