Gente, eu consigo passar valores para o meu datatable normalmente, não estou com problemas com isso, porém tem algo que estou tentando fazer que não funciona + neeeem a pau. Eu tenho uma data de prazo que eu estarei sempre comparando com o dia de hoje. Baseado nisso, eu terei na tabela, ao invés de ter a data, o nome do status comparado com a data de hoje.
Se prazo == 0 ; Status recebe nome de Vence Hoje
Se prazo > 0 ; Status recebe nome de Vincenda
Se prazo < 0 ; Status recebe nome de Vencido
até aí sem problema.
public String getNomeStatus(Date data){
Date d = new Date();
String nomeStatus = null;
if ((((((this.data.getTime() - d.getTime()) / 24) / 60) / 60) / 1000) == 0){
nomeStatus = "Vence Hoje";
}
if ((((((this.data.getTime() - d.getTime()) / 24) / 60) / 60) / 1000) < 0){
nomeStatus = "Vencida";
}
if ((((((this.data.getTime() - d.getTime()) / 24) / 60) / 60) / 1000) > 0){
nomeStatus = "Vincenda";
}
return nomeStatus;
}
o problema real é na hora de passar isso para o datatable. Eu estou tentando várias coisas, mas nenhuma funciona.
<p:column style="width:50px;">
<f:facet name="header">
<h:outputText value="Prazo"/>
</f:facet>
<h:outputText value="#{controle.nomeStatus(item.prazo)}"/>
</p:column>
quando tento passa o prazo para ser feita a comparação e retornar o nome não funciona, ele me da um erro e só aparece a primeira linha sem o nome do status que ele se enquadra.
o erro é este:
GRAVE: javax.el.ELException: /paginas/consultar.xhtml @99,83 value="#{controle.nomeStatus(item.prazo)}": Method nomeStatus not found
ele diz que não encontra o método, e é aí que eu me perco todo =/
Alguém me da uma ajuda com isso por favor.
Obrigado