2013-11-29 7 views
0

Мне нужен конвертер с настраиваемыми параметрами, я сделал это, и он работает хорошо, за исключением случаев, когда я использую его с элементами строки, и я не могу понять, почему идеи ?Конвертер не может разбогатеть: dataGrid строки как пользовательские параметры

Примеры

Это хорошо работает:

<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> 
+1

Возможный дубликат [Как установить свойства конвертера для каждой строки данных?] (Http://stackoverflow.com/questions/7530560/how-to-set-converter-properties-for-each-row-of -a-datatable) – BalusC

ответ

1

См. Ссылку BalusC. В нем описывается, почему ваш конвертер не работает. Конвертер без параметров работает нормально внутри JSF 1.2. Для имитации преобразования вы можете использовать метод getter в объекте, который представляет строку, например getConvertedValue, и переместить ваш код из конвертера в этот метод. После этого в datatable вы можете вызвать # {row.convertedValue} для отображения преобразованного значения.

+0

Ссылка, опубликованная BalusC, решила мою проблему, я использовал «путь f: атрибут». – Fabio