Я использую Primefaces в приложении JSF 2. У меня есть <p:dataTable>
, и вместо того, чтобы выбирать строки, я хочу, чтобы пользователь мог выполнять различные действия по отдельным строкам. Для этого у меня есть несколько <p:commandLink>
в последнем столбце.
Моя проблема: как передать идентификатор строки в действие, запущенное по ссылке команды, чтобы я знал, к какой строке действовать? Я попытался использовать <f:attribute>
:
<p:dataTable value="#{bean.items}" var="item">
...
<p:column>
<p:commandLink actionListener="#{bean.insert}" value="insert">
<f:attribute name="id" value="#{item.id}" />
</p:commandLink>
</p:column>
</p:dataTable>
Но он всегда дает 0 - видимо, переменная строки f
недоступна, когда атрибут визуализируется (он работает, когда я использую фиксированное значение).
У кого-то есть альтернативное решение?