e ai tudo bem pessoal
Estou desenvolvendo um sistema com jsf2.0 + primefaces. Tenho uma dataTable, que contém uma <p:rating /> aquelas estrelinhas para dar feedback.
Entretanto ao apertar o botao e enviar os dados eles seta o valor das estrelas, somente da ultima.
minha página
<div id="contend">
<h:form id="tabelaNota" >
<p:dataTable var="rec" value="#{recomendaBean.cestaRecomendado}"
emptyMessage="NENHUM OBJETO DE APRENDIZAGEM A RECOMENDAR">
<f:facet name="header">OBJETOS DE APRENDIZAGEM RECOMENDADOS</f:facet>
<p:column>
<f:facet name="header">NOME</f:facet>
<h:outputText value="#{rec.nome}" />
</p:column>
<p:column resizable="true" style="max-width: 600px; min-width: 450px; overflow: hidden;" >
<f:facet name="header">DESCRIÇÃO</f:facet>
<h:outputText value="#{rec.descricao}" />
</p:column>
<p:column>
<f:facet name="header">LOCALIZAÇÃO</f:facet>
<h:outputLink value="#{rec.url}" target="_blank">Acessar Objeto</h:outputLink>
</p:column>
<p:column>
<f:facet name="header">AVALIAÇÃO</f:facet>
<p:rating value="#{ratingBean.voto}" />
<p:commandButton value="Avaliar" action="#{ratingBean.avalia(rec)}" ajax="false" />
</p:column>
</p:dataTable>
</h:form>
</div>
meu bean
@ManagedBean(name="ratingBean")
@RequestScoped
public class RatingBean {
private double voto;
public RatingBean(){}
public double getVoto() {
return voto;
}
public void setVoto(double voto) {
this.voto = voto;
}
public void avalia(Cesta cesta){
System.out.println("voto Aprendiz: "+ getVoto()); //metodo apenas para testar
}
}
somente a ultima linha da tabela eu consigo recuperar o valor das estrelas, nas outras linhas sempre me retorna zero
alguem sabe como conseguir o valor de uma avaliação de uma unica linha da tabela???
[]s