Я использую 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 недоступна, когда атрибут визуализируется (он работает, когда я использую фиксированное значение).
У кого-то есть альтернативное решение?
