Eai Pessoal,
Eu to tentando adicionar um atributo de um componente através da tag <f:attribute> usando uma Expression. O problema é que quando eu tento pegar esse atributo, ele vem sempre nulo, e isso não acontece se eu utilizar um valor estatico no value do attribute.
A especificação do jsf diz que o f:attribute aceita EL mas não estou conseguindo fazer funcionar.
Alguem pode me ajudar?
Olhem o código:
<rich:dataTable id="tableMetas"
value="#{encaminhamentosManager.encaminhamentos}"
var="encaminhamento" style="width:100%;"
onRowMouseOver="this.style.backgroundColor='#CCDDEE'"
onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
<rich:column>
<h:commandLink value="#{encaminhamento.candidato.nome}"
actionListener="#{consultaAlunoManager.avancar}" >
<f:attribute name="nextMapping" value="buscar_avaliacao"/>
<f:attribute id="candidato" name="candidato"
value="#{encaminhamento.candidato}"/>
</h:commandLink>
</rich:column>
</rich:dataTable>
E o meu método actionListener
public void avancar(ActionEvent event) {
FacesContext faces = FacesContext.getCurrentInstance();
Application app = faces.getApplication();
HtmlCommandLink link = (HtmlCommandLink) event.getComponent();
String nextMapping = (String) link.getAttributes().get("nextMapping");
//NULL
Candidato candidato = (Candidato) link.getAttributes().get("candidato");
}
Valeu pessoal.
Ferry