2012-03-16 24 views
11

đầu tiên tôi sử dụng <f:facet> để tạo tiêu đề bảng và tôi muốn biểu tượng bên cạnh tiêu đề. Tuy nhiên, nó dường như không hoạt động tốt. Biểu tượng không được hiển thị.Cách để <f:facet> chứa nhiều thành phần? Nó chỉ hiển thị

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} chứa các biểu tượng mũi tên và đại diện cho đơn đặt hàng. Tôi muốn hiển thị nó bên cạnh <h:commandLink>.

Trả lời

21

<f:facet> chỉ có thể có một trẻ em. Gói nhiều trẻ em trong một <h:panelGroup>.

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

Ồ, vâng. Tôi c. Cảm ơn rất nhiều. –

+0

Bạn được chào đón. – BalusC

+0

Tôi muốn đề cập rằng ít nhất trong Mojarra 2.2.5 không phải như vậy. Bạn có thể có nhiều con trong một 'f: facet', và Mojarra tạo ra một gói ẩn' UIPanel' cho chúng. Điều này không đi ngược lại đặc tả JSF. –

0

<f:facet> chỉ có thể có một con. Gói nó vào một <h:panelGroup> hoặc <h:panelGrid>.

+0

chỉ đề xuất chỉnh sửa (smal, rất nhỏ) cho câu trả lời được chấp nhận – Kukeltje

Các vấn đề liên quan