如何为htmlPanelGrid创建<f:facet name =“header”>的programmaticallty </f:facet>

时间:2013-09-24 12:55:49

标签: jsf jsf-1.2

我正在为bean创建<h:panelgrid>的标头。 现在这是jsf所需的代码(如果我在jsf页面中编写代码)。

<f:facet name="header">
                        <h:outputText value="Search Template ">
                        </h:outputText>
                    </f:facet>

我的问题是如何使用下面的代码在bean文件中添加它。

HtmlPanelGrid mainPanel = new HtmlPanelGrid();
mainPanel.setColumns(1);
mainPanel.setStyleClass("searchtabtemplate");

HtmlOutputLabel htmlOutputLabelObj = new HtmlOutputLabel();
htmlOutputLabelObj.setValue(ApplicationConstants.NO_RECORD_FOUND);

mainPanel.getChildren().add(htmlOutputLabelObj);

我已尝试使用此代码但我必须使用facetTag我不明白。

FacetTag facetTag = new FacetTag();
facetTag.setName("header");
HtmlOutputLabel htmlOutputLabel = new HtmlOutputLabel();
htmlOutputLabel.setValue("Search Template");

1 个答案:

答案 0 :(得分:4)

UIComponent超类有一个getFacets()方法。猜猜它的作用:)

mainPanel.getFacets().put("header", htmlOutputLabel);

对具体问题

无关HtmlOutputLabel代表<h:outputLabel>,这是用于此目的的错误工具。请改用代表HtmlOutputText的{​​{1}}。