1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

JSF chama o método de setar variável, mas não mostra conteúdo

Estou com uma dificuldade básica de JSF: Tenho dois panels grid. Em um coloco o nome e aperto o botão de busca. No outro, deveria aparecer o resultado da busca, que é o telefone correspondente ao nome digitado. Porém, mesmo a minha busca retornando um resultado, o telefone não está aparecendo. Alguém poderia me ajudar? Segue os códigos:

<fieldset style="width:500px">
                <legend>
                    <h:outputText value="NQC-B" />
                </legend>

                    <h:panelGrid id="TesteId" columns="2" columnClasses="alrigth,alleft">
                        <h:outputLabel for="nomeTesteLabel" value="Nome:" />
                        <p:inputText id="nomeTesteInput" value="#{monthlyPlanHandler.name}" size="15"/>


                        <p:commandButton 
                             id="testeButton"  
                             value="Buscar Telefone" 
                             update=":formLocal"
                            global="true"
                             process="formLocal"
                             styleClass="bt_set_sending_month_year"
                             actionListener="#{monthlyPlanHandler.findByName}" /> 
                    </h:panelGrid>


            </fieldset>

            <fieldset style="width:500px">
                <legend>
                    <h:outputText value="Last Uploaded File" />
                </legend>

                <h:panelGrid id="TesteId" columns="2" columnClasses="alrigth,alleft">
                        <h:outputLabel for="telefoneTesteLabel" value="Telefone:" />
                        <p:inputText id="telefoneTesteInput" value="#{monthlyPlanHandler.member.phoneNumber}" size="15"/>
                </h:panelGrid>
            </fieldset>

e o handler:

private MemberLocal memberLocal;
    private Member member;
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Produces
    @Named
    public Member getMember() {
        return member;
    }

    public void setMember(Member member) {
        this.member = member;
    }



    public void findByName() {
        Member m = this.memberLocal.findByName(name);
        setMember(m);
    }
  • Você cometeu um erro bem básico também, não é bom ter um mesmo ID para componentes diferentes. Os seus dois panelGrid tem o mesmo ID, experimente mudar o ID do segundo, e no seu update ponha a referência para ele.

    rof20004   22 de dez de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags jsf primefaces java java-ee ou faça a sua própria pergunta.