【问题标题】:Converter can't get rich:dataGrid rows as custom parameters转换器无法致富:dataGrid 行作为自定义参数
【发布时间】:2025-11-25 13:00:02
【问题描述】:

我需要一个带有自定义参数的转换器,我已经制作了它并且效果很好,除非我将它与行元素一起使用并且我不明白为什么,想法?

示例

这很好用:

<h:outputText value="#{bean.value}"> 
    <cc:converter param="#{bean.attribute}" />
</h:outputText>

还有这个:

<h:outputText value="#{bean.value}"> 
    <cc:converter param="fixedValue" />
</h:outputText>

这个根本不起作用,转换器内部的参数为空:

<rich:dataGrid value="#{bean.list}" var="row">
    <h:outputText value="#{row.value}"> 
        <cc:converter param="#{row.attribute}" />
    </h:outputText>
</rich:dataGrid>

【问题讨论】:

标签: jsf richfaces converter jsf-1.2 mojarra


【解决方案1】:

参见 BalusC 链接。它描述了为什么您的转换器不起作用。没有参数的转换器在 JSF 1.2 的数据表中工作正常。对于模拟转换,您可以在代表行的对象中使用 getter 方法,如 getConvertedValue 并将您的代码从转换器移动到此方法中。之后在数据表中,您可以调用 #{row.convertedValue} 来显示转换后的值。

【讨论】:

  • BalusC发布的链接解决了我的问题,我使用了“f:attribute方式”。
最近更新 更多