在jsf托管bean中创建动态控件?

时间:2010-03-03 10:48:07

标签: jsf

我想在我的jsf托管bean中动态创建HtmlDivElement的对象并将其添加到面板,但似乎HtmlDivElement是接口。那么,我该怎么做呢?

1 个答案:

答案 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" />
相关问题