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

标签 jsf

我想在我的 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/

相关文章:

javascript - 在 JSF 复合组件中集成 JavaScript,干净的方式

java - 当我尝试使用我的 jsf 自定义标签时,为什么会出现错误 "prefix [..] is not defined"?

java - 为 JSF/ICEfaces 设置浮点格式化语言环境?

jsf - 如何更改 p :datatable dynamically 的延迟加载的 setRowCount

java - ManagedBean 中的数据不会在 View 中刷新

javascript - 使用 Javascript 禁用输入字段

java - 如何在HTML页面中绘制时序图

java - JSF 2 - 未检测到@ManagedBean

jsf - 到达数据表列 JSF/PrimeFaces 中的 backingbean 方法

java - 开发数据库简化管理器,我应该使用 JSF 还是 JSF+Hibernate?