我想在我的 jsf 托管 bean 中动态创建 HtmlDivElement 对象并将其添加到面板,但 HtmlDivElement 似乎是接口(interface)。那么,我该怎么做呢?
最佳答案
这是一个相当大的混淆。 org.w3c.dom.html.HTMLDivElement
不是 JSF 组件。这表示具有完全不同用途的 W3 DOM 元素(JAXP,DOM 解析)。
您需要 javax.faces.component.UIComponent
的子类(只需单击前面链接的 Javadoc 中的“直接已知子类”即可找到所有子类)。呈现 HTML <div>
元素,只需使用 HtmlPanelGroup
谁的layout
属性设置为 block
.
HtmlPanelGroup div = new HtmlPanelGroup();
div.setLayout("block");
someParentComponent.getChildren().add(div);
这与“静态”JSF 中的以下内容有效地相同:
<h:panelGroup layout="block" />
关于jsf - 在 jsf 托管 bean 中创建动态控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2370489/