【发布时间】:2011-12-28 18:39:03
【问题描述】:
我想处理支持 bean 中 <h:panelGroup> 内的所有 <p:panel> 组件。我已将<h:panelGroup> 绑定到支持bean 属性。但是在@PostConstruct 方法中,属性是null。在属性setPanel() 的设置过程中,组件没有子级。如果我使用按钮提交某些内容,那么我可以获得面板的子项。
在@PostConstruct 方法期间,我必须做什么才能获取组件的子级?
查看:
<h:panelGroup binding="#{wiz.panel}">
<p:panel header="one">
<h:outputText value="primeiro" />
</p:panel>
<p:panel header="two">
<h:outputText value="segundo" />
<h:inputText />
</p:panel>
<p:panel header="three">
<h:outputText value="terceiro" />
</p:panel>
<p:panel header="four">
<h:outputText value="quarto" />
</p:panel>
</h:panelGroup>
支持豆
@PostConstruct
public void init() {
if (getPanel() != null) {
for (UIComponent comp : getPanel().getChildren()) {
if (comp instanceof Panel) {
System.out.println(((Panel) comp).getHeader());
}
System.out.println("not a panel child");
}
} else {
System.out.println("panel is null");
}
}
【问题讨论】:
标签: jsf jsf-2 primefaces