[RESOLVIDO] Erro ao retornar uma lista do controller

4 respostas
M

Não estou conseguindo pegar os itens, alguém pode me ajudar?

Controller:

@Path("/resultado") public List<Questionario> resultado(){ return questionariodao.buscaPerguntas(); }

Dao:

@SuppressWarnings("unchecked") public List<Questionario> buscaPerguntas() { List results = this.session.createCriteria(Questionario.class) .setProjection( Projections.projectionList() .add( Property.forName("descricaoresp")) .add( Projections.groupProperty("idgrpperg")) .add( Projections.groupProperty("idperg")) ) .list(); return results; }
Quando imprimo o list:

<input type= "text" name="descricaoperg" value="${questionarioList}"/>

O resultado é:

[[Ljava.lang.Object;@2e4e0, [Ljava.lang.Object;@6aa7, [Ljava.lang.Object;@15a16aa, [Ljava.lang.Object;@1860507, [Ljava.lang.Object;@1b447c4, [Ljava.lang.Object;@d3b9a3, [Ljava.lang.Object;@4082e9, [Ljava.lang.Object;@1529f89, [Ljava.lang.Object;@168126a, [Ljava.lang.Object;@1912d78, [Ljava.lang.Object;@403fd5, [Ljava.lang.Object;@1ed5cd, [Ljava.lang.Object;@6686d1, [Ljava.lang.Object;@11d1f3e, [Ljava.lang.Object;@ee2211, [Ljava.lang.Object;@1fea850]

Porem quando tento imprimir o item da lista no Foreach ocorre o erro.
JSP:

<c:forEach items="${questionarioList}" var="questionarios"> <input type= "text" name="descricaoperg" value="${questionarios.descricaoperg}"/> </c:forEach>

Ocorre o erro abaixo:
[b]HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

br.com.caelum.vraptor.view.ResultException: org.apache.jasper.JasperException: java.lang.NumberFormatException: For input string: descricaopergbr.com.caelum.vraptor.view.DefaultPageResult.forward(DefaultPageResult.java:69)

br.com.caelum.vraptor.extra.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:59)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:64)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:75)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:86)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)

br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)

br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)

br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)

root cause

org.apache.jasper.JasperException: java.lang.NumberFormatException: For input string: descricaopergorg.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

br.com.caelum.vraptor.core.DefaultStaticContentHandler.deferProcessingToContainer(DefaultStaticContentHandler.java:64)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:80)

br.com.caelum.vraptor.view.DefaultPageResult.forward(DefaultPageResult.java:67)

br.com.caelum.vraptor.extra.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:59)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:64)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:75)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:86)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)

br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)

br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)

br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)

root cause

java.lang.NumberFormatException: For input string: descricaoperg

java.lang.NumberFormatException.forInputString(Unknown Source)

java.lang.Integer.parseInt(Unknown Source)

java.lang.Integer.parseInt(Unknown Source)

javax.el.ArrayELResolver.coerce(ArrayELResolver.java:153)

javax.el.ArrayELResolver.getValue(ArrayELResolver.java:45)

javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)

org.apache.el.parser.AstValue.getValue(AstValue.java:118)

org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)

org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)

org.apache.jsp.WEB_002dINF.jsp.departamento.resultado_jsp._jspx_meth_c_005fforEach_005f0(resultado_jsp.java:186)

org.apache.jsp.WEB_002dINF.jsp.departamento.resultado_jsp._jspService(resultado_jsp.java:94)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

br.com.caelum.vraptor.core.DefaultStaticContentHandler.deferProcessingToContainer(DefaultStaticContentHandler.java:64)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:80)

br.com.caelum.vraptor.view.DefaultPageResult.forward(DefaultPageResult.java:67)

br.com.caelum.vraptor.extra.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:59)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:64)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:75)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:86)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)

br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65)

br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)

br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)

br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
Apache Tomcat/6.0.24[/b]

Obrigada.

4 Respostas

Lucas_Cavalcanti

qdo vc usa uma projection, o resultado da sua query não vai ser mais List, e sim uma List<Object[]>
onde a posição [0] vai ser o descricaoresp, o [1] vai ser o idgrpperg e o [2] vai ser idperg

M

Gente o que seria de mim sem você!!! rsrsrsrsr
Tem solução pra tudo… São dúvidas bobas, mas que pra mim como iniciante, agarra…

Valeu mais uma vez!!!

vasilvei

Bom dia também estou com o problema, eu uso vraptor 3 para o controller, com que eu resolvo isso no meu jsp, veja como esta o meu jsp, controller, e dao:

funcuser.jsp

<tbody>
                    <c:forEach items="${funcuserList}" var="funcuser">
                        <tr id="comcor" ondblclick="editar(${funcuser.idpessoa}, '/Coliseu/editarFuncuser');">
          
                            <td id="tdlinha">${funcuser.idpessoa }</td>
                          
  
                            <td id="tdlinha"><a title="Editar" href="<c:url value="/editarFuncuser/${funcuser.idpessoa}"/>">
                                    <img src="<c:url value='/includes/assets/images/icons/edit_22.png'/>"></a></td>
                            <td id="tdlinha"><a title="Excluir" href="#">
                                    <img src="<c:url value='/includes/assets/images/icons/delete_22.png'/>" onclick="confirmacao(${funcuser.idpessoa}, '/Coliseu/excluirFuncuser');"></a></td>
                        </tr>
                    </c:forEach>
                </tbody>

Meu controller

FuncuserController

@Get
    @Restrito
    @Path("/funcuser/{num}")
    public List<Funcuser> funcuser(Integer num) {

        //insere a url utilizada para a paginacao
        paginacao.setUrl("/funcuser");

        paginacao.setSelecionado(num);
        //seleciona o total de registros
        paginacao.setTotal(dao.getTotalRegistros());
        paginacao.getSelecionado();
        //montando os links para listar
        MontaPaginacao.montarPaginacao(paginacao, num);

        result.include("paginacao", paginacao);

        return dao.lista(num);

    }

Meu Dao

public List<Funcuser> lista(Integer num) {
        Session session = Hibernate.getSession();
        List<Funcuser> list = null;
      
        try {

            Criteria criteria = session.createCriteria(Funcuser.class).addOrder(Order.asc("idpessoa")).setFirstResult(num).setMaxResults(20).setProjection(Projections.projectionList()
            .add( Projections.property("idpessoa"))) ;
            criteria.createAlias("filial", "estab");
            criteria.add(Restrictions.eq("filial.estab", sessionUser.estab.getEstab()));

            list = criteria.list();

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            session.close();
        }

        return list;

    }
vasilvei

consegui resolver, modifiquei o Dao:

public List<Funcuser> lista(Integer num) {
        Session session = Hibernate.getSession();
        List<Funcuser> list = null;
   
        try {



            Criteria criteria = session.createCriteria(Funcuser.class, "funcuser").addOrder(Order.asc("funcuser.idpessoa")).setFirstResult(num).setMaxResults(20).setProjection(Projections.projectionList()
            .add( Projections.property("funcuser.idpessoa").as("idpessoa"))).setResultTransformer(new AliasToBeanResultTransformer(Funcuser.class));
            criteria.createAlias("filial", "estab");
            criteria.add(Restrictions.eq("filial.estab", sessionUser.estab.getEstab()));

            list = criteria.list();

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            session.close();
        }

        return list;

    }
Criado 27 de outubro de 2010
Ultima resposta 3 de fev. de 2011
Respostas 4
Participantes 3