[RESOLVIDO]Problema JSF: managedBean não instanciado no .xhtml!

4 respostas
leorbarbosa

Pessoal,

estou tentando fazer um projeto simples de helpdesk com netbeans+jsf+mysql. Fiz um .xhtml abaixo que será a visão do cadastro, na qual o atributo ‘descricao’ está descrito abaixo:

public class TipoChamado implements Serializable {
  ...
  private String Descricao = "";
  public String getDescricao() {
    return Descricao;
  }
  public void setDescricao(String Descricao) {
    this.Descricao = Descricao;
  }
...

Segue a visão:

...
      <h:form id="frmVisao" styleClass="formularioVisao">
        <fieldset class="painelPesquisa" title="Digite um código ou uma descrição e clique em OK para pesquisar">
          <h:outputText value="Pesquisar" />
          &nbsp;
          <h:inputText id="pesquisa" value="#{beanTipoChamado.descricao}" required="true" />
          &nbsp;
          <h:commandButton value="OK" action="acaoPesquisa" />
        </fieldset>
...

Segue o método que chama a consulta:

public DataModel getTodos() throws Exception {
    DaoTipoChamado dao = new DaoTipoChamado();
    filtro = tipoChamado.getDescricao(); // Problema está aqui: 'tipoChamado' está nulo
    model = new ListDataModel(dao.listarTipoChamado(filtro) );
    return model;

Problema: o atributo local ‘tipoChamado’ acima não está sendo instaciando pela classe do bean gerenciável. Ele não deveria já vir com uma referência da classe?
ps: o faces-config.xml

<managed-bean>
    <managed-bean-name>beanTipoChamado</managed-bean-name>
    <managed-bean-class>pkgtipochamado.TipoChamado</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>

Alguém pode ajudar?

4 Respostas

Hebert_Coelho

Mas em nenhum momento você aponta para o tipoChamado.
Vc está passando o valor para um campo chamado descrição diretamente: <h:inputText id=“pesquisa” value="#{beanTipoChamado.descricao}" required=“true” />

leorbarbosa

Sim,

no bean capturo a descrição. O problema é referenciar a instancia no controller.

Será que poderia dar um exemplo?

Obrigado.

Hebert_Coelho

Pq no seu MB você só não faz?

filtro = descricao;
leorbarbosa

Obrigado.

Criado 6 de maio de 2012
Ultima resposta 7 de mai. de 2012
Respostas 4
Participantes 2