Sou inciante com Java para WEB e Vraptor. Segui a apostila da Caelum e hoje consigo trazer uma tabela/classe para ser visualizada na view jsp. O problema é que tenho agora que totalizar um campo da tabela. Como faço isto e envio para a view jsp?
Tenho o código abaixo que usei para testar o acesso via projections do hibernate e deu certo. Más agora como consigo enviar estes dados para a view jsp?
Criteria crit = session.createCriteria(Contacelular.class);
ProjectionList p2=Projections.projectionList();
p2.add(Projections.groupProperty("mes_ref"));
p2.add(Projections.groupProperty("ano_ref"));
p2.add(Projections.groupProperty("linha"));
p2.add( Projections.sum("valor") );
p2.add( Projections.sum("valor_cobrado"));
crit.setProjection(p2);
List l=crit.list();
Iterator it=l.iterator();
while(it.hasNext())
{
Object ob[] = (Object[])it.next();
System.out.println(ob[0]+" --- "+ob[1]+" --- "+ob[2]+" --- "+ob[3]+" --- "+ob[4]);
}
===============
Em uma tentativa criei uma classe para receber os dados:
@Component
@SessionScoped
public class Totallinhapojo {
@Id
private String mes_ref;
private String ano_ref;
private String linha;
private Double valor;
private Double valor_cobrado;
Criei este método no DAO:
public List<Totallinhapojo> totallinha() {
Query query = session.createQuery("select " +
"mes_ref, " +
"ano_ref, " +
"linha, " +
"sum(valor), " +
"sum(valor_cobrado)" +
" from Contacelular group by mes_ref,ano_ref,linha");
return query.setResultTransformer(Transformers.aliasToBean(Totallinhapojo.class)).list();
}
E no Controller coloquei assim:
public List totallinha() {
return celdao.totallinha();
}
Na jsp recebo a lista “ContacelularList” Contacelular é o nome do controller “ContacelularController”. Quando tento usar dá o erro:
message exception raised, check root cause for details: org.hibernate.PropertyNotFoundException: Could not find setter for 0 on class br.com.marata.sginfra.modelo.Totallinhapojo
Podem ajudar?
Obrigado.