2011-07-01 39 views
0

JSF:JSF:使F:小頭爲commandLink

<rich:dataTable> 
... 
    <h:column> 
    <f:facet name="header"> 
     <h:commandLink action="fileSearchSort" styleClass="theader"> 
     Name 
     </h:commandLink> 
    </f:facet> 
     #{f.name} 
    </h:column> 
... 
</rich:dataTable> 

,如果做到這一點:

... 
    <h:column> 
     <h:commandLink action="fileSearchSort" styleClass="theader"> 
     <f:facet name="header"> 
     Name 
     </f:facet> 
     </h:commandLink> 
     #{f.name} 
    </h:column> 
... 

該標籤的 「Name」 頭dissappeared。

是否可以將整個f:facet標頭作爲commandLink

謝謝。

回答

2

至於你所看到的行爲,該<f:facet>被嵌套爲這是應該擁有面,這是在這種情況下,因此<h:column> JSF組件的直接孩子。將它放入<h:commandLink>而不是將其作爲<h:commandLink>的方面,但該組件不支持名稱爲header的方面,因此您什麼都看不到。

至於具體的功能要求,JSF <h:commandLink>組件呈現一個HTML <a>元件,其是由一個缺省元素inline。如果要讓它佔據父元素的整個空間,則需要改爲使用<a>元素。只需將display: block添加到其風格類中即可。

.theader { 
    display: block; 
    ... 
} 
0

構面的元素將被渲染成某種容器,所以如果你放置在<h:commandLink>之內的<span><div>標籤消耗整個區域,那麼你的commandLink應該工作。

<h:column> 
    <f:facet name="header"> 
    <h:commandLink action="fileSearchSort" styleClass="theader"> 
     <span style="width: 100%; height: 100%;"> 
     Name 
    </h:commandLink> 
    </f:facet> 
    #{f.name} 
</h:column> 
相關問題