如何重用jsf组件参数?

时间:2013-01-31 06:43:06

标签: jsf

我有代码

    <p:column id="columnLastComment" headerText="LAST COMM" width="80"
    styleClass="long-field" filterStyleClass="flt-hidden"
    style="#{alarmTable.getDisplayStatus('columnLastComment')}"
    sortBy="#{alarm.lastComment}" filterBy="#{alarm.lastComment}">
    <h:outputText value="#{alarm.lastComment}" />
    <f:facet name="header">
        <h:outputText value="LAST COMM" title="Last Comment"
            styleClass="tableHeader-fontSize" />
    </f:facet>
</p:column>

我如何在样式值中使用列的id?示例 - style="#{alarmTable.getDisplayStatus('[id of this column]')}"

1 个答案:

答案 0 :(得分:0)

理论上,您可以使用隐式EL变量#{component}来获取当前组件,如下所示:

<h:outputText id="foo" styleClass="#{bean.styleClass(component.id)}" />

但不幸的是,UIColumn组件有一个特殊的处理方式。 #{component}代替父UIData组件,在您的情况下为<p:dataTable>

所以,你真的要重复它(就像你已经为“lastComment”这个短语所做的那样。你可以通过使用#{alarm}的属性来减轻痛苦。