如何让<f:facet>包含多个组件?它只显示第一个</f:facet>

时间:2012-03-16 02:12:17

标签: jsf facet

我使用<f:facet>创建一个表头,我想在它旁边放一个符号。但是,它似乎不能很好地工作。该符号未呈现。

JSF:

<h:column id="subject_column">
  <f:facet name="header">
    <h:commandLink value="Subject" id="sort_by_subjects"
                   action="#{xxx.sort}">
      <f:param id="sortBySubject" name="sortBy" value="SUBJECT"/>
    </h:commandLink>
    <span>${isAscending}</span>
  </f:facet>
  <h:outputText value="#{email.emailSubject}"/>
</h:column>

${isAscending}包含箭头符号并代表订单。我想在<h:commandLink>旁边显示它。

2 个答案:

答案 0 :(得分:21)

<f:facet>只能有一个孩子。在<h:panelGroup>中包装多个孩子。

<h:column>
    <f:facet name="header">
        <h:panelGroup>
            <h:commandLink ... />
            <h:outputText ... />
        </h:panelGroup>
    </f:facet>
    ...
</h:column>

答案 1 :(得分:0)

<f:facet>只能有一个孩子。将其包裹在<h:panelGroup><h:panelGrid>