<html:select> exibindo um valor estranho

3 respostas
smorigo

Boa noite pessoal, estou criando meu primeiro <html:select…> e fiz tudo da maneira q eu aprendi só que o mesmo está sendo “populado” com valores estranhos:

br.com.controle.parentesco.bean.Parentesco@18ef117
br.com.controle.parentesco.bean.Parentesco@17644c8
br.com.controle.parentesco.bean.Parentesco@19dd97b

Esse é exatamente o Bean que estou querendo popular e a tabela possui 3 registros…

&lt;html:select property="parentesco" name="meuParceiro" &gt;
&lt;html:options name="meusParentescos"/&gt;
&lt;/html:select&gt;

Esse é meu metodo que criei para diversas classes:

protected java.util.Collection listaTodos(Class classRef, Criterion[] criterions) throws DAOException {
    
try {
 Session session = ConnectionFactory.getInstance().getSession();
 Criteria crit = session.createCriteria(classRef);
if (criterions != null) {
            for(int i=0; i < criterions.length; i++)
                crit.add(criterions[i]);
        }
        java.util.Collection c = crit.list();
        session.close();            
        return c;
    }catch(HibernateException e) {
    	throw new DAOException(e);
    }
}

Dai eu chamo esse meu metodo em cima da seguinte maneira:

public java.util.Collection listaTodos() throws DAOException {
   return listaTodos(Parentesco.class, null);
}

E finalmente estou no meu Action que é responsavel por popular o formulario:

ParceiroDAO parceiroDAO = ParceiroDAO.getInstance();
Parceiro parceiro = (Parceiro) parceiroDAO.procurar(Long.valueOf(request.getParameter("codigoParceiro")));
		
		
ServiceBroker broker = new ServiceBroker();	
Collection parentescos = broker.listarParentesco();	
		
request.setAttribute("meusParentescos", parentescos);
request.setAttribute("meuParceiro", parceiro);

3 Respostas

danieldestro

<html:options name=“meusParentescos” property=“nomeDoAtributoQueQuerImprimir”/>

smorigo

Eu tentei colocar o campo mais olha só eu recebo está mensagem:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

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

exception 

javax.servlet.ServletException: No getter method available for property codigoParentesco for bean under name meusParentescos
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
	org.apache.jsp.pages.editarParceiro_jsp._jspService(editarParceiro_jsp.java:131)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
	org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
	org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:316)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause 

javax.servlet.jsp.JspException: No getter method available for property codigoParentesco for bean under name meusParentescos
	org.apache.struts.taglib.html.OptionsTag.getIterator(OptionsTag.java:386)
	org.apache.struts.taglib.html.OptionsTag.doEndTag(OptionsTag.java:245)
	org.apache.jsp.pages.editarParceiro_jsp._jspx_meth_html_options_0(editarParceiro_jsp.java:406)
	org.apache.jsp.pages.editarParceiro_jsp._jspx_meth_html_select_0(editarParceiro_jsp.java:378)
	org.apache.jsp.pages.editarParceiro_jsp._jspx_meth_html_form_0(editarParceiro_jsp.java:220)
	org.apache.jsp.pages.editarParceiro_jsp._jspService(editarParceiro_jsp.java:115)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
	org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
	org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:316)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.27

e meu JavaBean Parentesco possui os metodos get e set… alguém tem uma sugestão ?

danieldestro

A sua classe meusParentescos deve ter o método:

public String getCodigoParentesco() { return codigoParentesco ; }

Se não for String, pelo menos o retorno deve ser do tipo correto.

Criado 26 de novembro de 2004
Ultima resposta 26 de nov. de 2004
Respostas 3
Participantes 2