Erro ao retornar ArrayList para uma tabela

4 respostas
M

Galera, blz?

 com um problemão aqui, tenho um bean que recebe os dados vindos de um .jsp, faz a busca no banco de dados e deveria retornar todos os registros com aquele determinado nome digitado no inputText.
public class AgendaBean {   
       
    private List<Agenda> lista = new ArrayList<Agenda>();   
    String nome;   
    private Agenda agenda = new Agenda();   
  
  
    public String procuraNome(){   
        nome=agenda.getNome();   
        Session session = HibernateUtil.getSession();   
        //cria a Query HQL   
        Query q = session.createQuery("from Agenda a where a.nome like :nome ");   
        //add o parametro de consulta   
        q.setParameter("nome", "%"+nome+"%");   
        //executa o HQL e o retorno vai para a array   
        lista = q.list();   
        return null;   
    }   
  
public List<Agenda> getLista() {   
           
        return lista;   
    }   
public Agenda getAgenda() {   
        return agenda;   
    }   
  
    public void setAgenda(Agenda agenda) {   
        this.agenda = agenda;   
    }   
  
  
    public void setLista(List<Agenda> lista) {   
        this.lista = lista;   
    }  
public class AgendaBean {
	
	private List<Agenda> lista = new ArrayList<Agenda>();
	String nome;
	private Agenda agenda = new Agenda();


	public String procuraNome(){
		nome=agenda.getNome();
		Session session = HibernateUtil.getSession();
		//cria a Query HQL
		Query q = session.createQuery("from Agenda a where a.nome like :nome ");
		//add o parametro de consulta
		q.setParameter("nome", "%"+nome+"%");
		//executa o HQL e o retorno vai para a array
	    lista = q.list();
		return null;
	}

public List<Agenda> getLista() {
		
		return lista;
	}
public Agenda getAgenda() {
		return agenda;
	}

	public void setAgenda(Agenda agenda) {
		this.agenda = agenda;
	}


	public void setLista(List<Agenda> lista) {
		this.lista = lista;
	}

Essa aqui é minha página .jsp

<h:form>   
<h:outputText value="Nome" />   
<h:inputText value="#{agendaBean.agenda.nome }" />   
<h:commandButton action="#{agendaBean.procuraNome }" value="Enviar" /><br><br><br>   
  
<h:dataTable rows="15" width="700" rendered="#{!empty agendaBean.lista }"     
var="a" styleClass="tabela" headerClass="cabecalho"   
rowClasses="ultimo,primeiro">   
            <h:column>   
                <f:facet name="header">   
                    <h:outputText value="Id" />   
                </f:facet>   
                <h:outputText value="#{a.id}" />   
            </h:column>   
            <h:column>   
                <f:facet name="header">   
                    <h:outputText value="Nome" />   
                </f:facet>   
                <h:outputText value="#{a.nome}" />   
            </h:column>   
            <h:column>   
                <f:facet name="header">   
                    <h:outputText value="Telefone" />   
                </f:facet>   
                <h:outputText value="#{a.telefone}" />   
            </h:column>   
            <h:column>   
                <f:facet name="header">   
                    <h:outputText value="Celular" />   
                </f:facet>   
                <h:outputText value="#{a.celular}" />   
            </h:column>   
            <h:column>   
                <f:facet name="header">   
                    <h:outputText value="email" />   
                </f:facet>   
                <h:outputText value="#{a.email}" />   
            </h:column>   
        </h:dataTable>   
  
</h:form>  
<h:form>
<h:outputText value="Nome" />
<h:inputText value="#{agendaBean.agenda.nome }" />
<h:commandButton action="#{agendaBean.procuraNome }" value="Enviar" /><br><br><br>

<h:dataTable rows="15" width="700" rendered="#{!empty agendaBean.lista }"  
var="a" styleClass="tabela" headerClass="cabecalho" 
rowClasses="ultimo,primeiro">
			<h:column>
				<f:facet name="header">
					<h:outputText value="Id" />
				</f:facet>
				<h:outputText value="#{a.id}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Nome" />
				</f:facet>
				<h:outputText value="#{a.nome}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Telefone" />
				</f:facet>
				<h:outputText value="#{a.telefone}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Celular" />
				</f:facet>
				<h:outputText value="#{a.celular}" />
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="email" />
				</f:facet>
				<h:outputText value="#{a.email}" />
			</h:column>
		</h:dataTable>

</h:form>

o problema é o seguinte, ele não ta renderizando os dados vindos da lista e jogando na tabela, aparece somente a tabela, porém, sem os dados .

Por favor quem puder me ajudar, eu agradeço.
valew!

4 Respostas

M

public class AgendaBean {

private List<Agenda> lista = new ArrayList<Agenda>();   
String nome;   
private Agenda agenda = new Agenda();   


public String procuraNome(){   
    nome=agenda.getNome();   
    Session session = HibernateUtil.getSession();   
    //cria a Query HQL   
    Query q = session.createQuery("from Agenda a where a.nome like :nome ");   
    //add o parametro de consulta   
    q.setParameter("nome", "%"+nome+"%");   
    //executa o HQL e o retorno vai para a array   
    lista = q.list();   
    return null;   
}

public List getLista() {

return lista;   
}
public Agenda getAgenda() {

return agenda;

}
public void setAgenda(Agenda agenda) {   
    this.agenda = agenda;   
}   


public void setLista(List<Agenda> lista) {   
    this.lista = lista;   
}

public class AgendaBean {

private List<Agenda> lista = new ArrayList<Agenda>();
String nome;
private Agenda agenda = new Agenda();


public String procuraNome(){
	nome=agenda.getNome();
	Session session = HibernateUtil.getSession();
	//cria a Query HQL
	Query q = session.createQuery("from Agenda a where a.nome like :nome ");
	//add o parametro de consulta
	q.setParameter("nome", "%"+nome+"%");
	//executa o HQL e o retorno vai para a array
    lista = q.list();
	return null;
}

public List getLista() {

return lista;
}
public Agenda getAgenda() {

return agenda;

}
public void setAgenda(Agenda agenda) {
	this.agenda = agenda;
}


public void setLista(List<Agenda> lista) {
	this.lista = lista;
}

Essa aqui é minha página .jsp

view plaincopy to clipboardprint?

<h:form>

<h:outputText value=“Nome” />

<h:inputText value="#{agendaBean.agenda.nome }" />

<h:commandButton action="#{agendaBean.procuraNome }" value=“Enviar” />
<h:dataTable rows=“15” width=“700” rendered="#{!empty agendaBean.lista }"

var=“a” styleClass=“tabela” headerClass=“cabecalho”

rowClasses=“ultimo,primeiro”>

<h:column>

<f:facet name=“header”>

<h:outputText value=“Id” />

</f:facet>

<h:outputText value="#{a.id}" />

</h:column>

<h:column>

<f:facet name=“header”>

<h:outputText value=“Nome” />

</f:facet>

<h:outputText value="#{a.nome}" />

</h:column>

<h:column>

<f:facet name=“header”>

<h:outputText value=“Telefone” />

</f:facet>

<h:outputText value="#{a.telefone}" />

</h:column>

<h:column>

<f:facet name=“header”>

<h:outputText value=“Celular” />

</f:facet>

<h:outputText value="#{a.celular}" />

</h:column>

<h:column>

<f:facet name=“header”>

<h:outputText value=“email” />

</f:facet>

<h:outputText value="#{a.email}" />

</h:column>

</h:dataTable>

Ops, foi mal, o código correto é esse aqui

programadora

Insira um atributo chamado “value” na dataTable que aponte para a lista, ex:

<h:dataTable rows="15" width="700" rendered="#{!empty agendaBean.lista }" value="#{agendaBean.lista}" var="a" styleClass="tabela" headerClass="cabecalho" rowClasses="ultimo,primeiro">

vlw

M

olha, só , eu fiz o q vc falou, porém, quando eu chamo o .jsp no browser, ele automaticamente já faz a busca no banco e me traz todos os cantatos, quando na verdade eu teria q informar no inputText o nome que eu quero buscar, a pesquisa ta me retornando todos os registros do banco e não, os registros começados com o nome a ser pesquisado.

M

beleza programadora, agora deu certo, blzinha,

valew obrigado!

Criado 10 de fevereiro de 2011
Ultima resposta 10 de fev. de 2011
Respostas 4
Participantes 2