Bem, acho que é bug, mas se estiver fazendo errado me falem. Criei um projeto no Eclipse só para simular o erro. Está dessa forma:
ManagedBeans:public class SendManaged {
private String send;
private List listOfSends = new ArrayList();
private final String VIEW = "view";
public void setSend( String send ){
this.send = send;
}
public String getSend(){
return this.send;
}
@SuppressWarnings("unchecked")
public List getListOfSends(){
this.listOfSends.add( "test1" );
this.listOfSends.add( "test2" );
this.listOfSends.add( "test3" );
return this.listOfSends;
}
public String view(){
return this.VIEW;
}
}
public class ReceiveManaged {
public void setAtributeReceive( String atribute ){
System.out.println( "Recebi atributo: " + atribute );
}
public void test(){
}
}
<faces-config>
<managed-bean>
<managed-bean-name>SendManaged</managed-bean-name>
<managed-bean-class>br.test.managedbean.SendManaged</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<navigation-case>
<from-outcome>view</from-outcome>
<to-view-id>/view.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>ReceiveManaged</managed-bean-name>
<managed-bean-class>br.test.managedbean.ReceiveManaged</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
<%@ page language="java" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
<f:view>
<t:dataTable var="send" value="#{SendManaged.listOfSends}">
<h:column>
<h:form>
<h:commandLink action="#{SendManaged.view}">
<h:outputText value="Ver" />
<t:updateActionListener property="#{SendManaged.send}" value="#{send}" />
</h:commandLink>
</h:form>
</h:column>
</t:dataTable>
</f:view>
<%@ page language="java" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
<f:view>
<h:outputText value="Send: #{SendManaged.send}" />
<h:form>
<h:commandLink action="#{ReceiveManaged.test}">
<t:outputText value="Send" />
<t:updateActionListener property="#{ReceiveManaged.atributeReceive}" value="#{SendManaged.send}" />
</h:commandLink>
</h:form>
</f:view>
Tenho uma página home.jsp que exibe um dataTable com dados do listOfSends do SendManaged. Cada coluna tem um commandLink. Esse commandLink passa para view.jsp que tem um outro link. Aí é que tá o problema: nessa página view.jsp tem um commandLink da seguinte forma:
<h:form>
<h:commandLink action="#{ReceiveManaged.test}">
<t:outputText value="Send" />
<t:updateActionListener property="#{ReceiveManaged.atributeReceive}" value="#{SendManaged.send}" />
</h:commandLink>
</h:form>
Recebi atributo: null
É bug? Estou fazendo algo errado?
Meu projeto teste está em anexo, sem os libs...
