title: Primefaces 3.4: DataTable and CommandLink column with f:setPropertyActionListener throws javax.el.ELException: java.lang.IllegalArgumentException
body: <p>I have this dataTable with a list of Clients and one Edit commandLink column. I need to open a dialog to show the client's data and I'm trying to use f:setPropertyActionListener to send the Client object to the bean dialog, using the variable <em>cli</em> used for the dataTable's rows:</p>
  
  <pre><code>&lt;p:dataTable id="tblClients" var="cli" value="#{clientsBean.clients}" rowKey="#{cli.id}"&gt;
  
     &lt;p:column&gt;  
        &lt;p:commandLink id="lnkEdit" value="Edit" action="#{clientBean.start}" process="@this" update="dlgClient" oncomplete="dialogClient.show()"&gt;
           &lt;f:setPropertyActionListener target="#{clientBean.client}" value="#{cli}" /&gt;
        &lt;/p:commandLink&gt;
     &lt;/p:column&gt;             
  
     &lt;p:column headerText="Name" sortBy="#{cli.name}" id="name"&gt;
        #{cli.name}
     &lt;/p:column&gt;
     ...
  &lt;/p:dataTable&gt; 
  </code></pre>
  
  <p>But when I hit the Edit button, throws this error:</p>
  
  <p><strong>java.lang.IllegalArgumentException: Cannot convert test.Client@95 of type class java.lang.String to class test.Client</strong></p>
  
  <p>I'm sure clientBean.client is Client type and its getter and setter are correct.</p>
  
  <p>Is it possible to reference the dataTable variable in any way?
  Do I need to implement a converter to accomplish this task?</p>
  
  <p>Any help I will appreciate,
  Thanks.</p>