Erro de conversão ao definir o valor '*' para 'null Converter'

2 respostas
E

Aqui está minha página:

Página XHTML:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
    <head>
        <title>Lista de Pessoas</title>
    </head>
    <body>
        <h:form>
            <h:selectOneMenu value="#{meuBean.pessoaSelecionada}">
                <f:selectItems value="#{meuBean.listaDePessoas}" />
            </h:selectOneMenu>
            <h:commandButton value="OK" action="#{meuBean.selecionarPessoaOk}"/>
        </h:form>
    </body>
</html>
meuBean:
public class meuBean {

    private Set<Pessoa> listaDePessoas;
    private Pessoa pessoaSelecionada;

    public meuBean() {
        listaDePessoas = new LinkedHashSet<Pessoa>();
        pessoaSelecionada = null;
        
        listaDePessoas.add(new Pessoa("Jorje", 30, "Rio de Janeiro"));
        listaDePessoas.add(new Pessoa("Amélia", 27, "Minas Gerais"));
        listaDePessoas.add(new Pessoa("Mário", 32, "São Paulo"));
    }

    public String selecionarAlunoOk() {
        if (pessoaSelecionada == null) {
            return null;
        } else {
            return "detalharPessoa";  // vai para pessoa-detalhe.xhtml
        }
    }

    public Set<Pessoa> getListaDePessoas() {
        return listaDePessoas;
}
Trecho do faces-config:
<navigation-rule>
        <from-view-id>/main-alunos.xhtml</from-view-id>
        <navigation-case>
            <from-outcome>detalharPessoa</from-outcome>
            <to-view-id>faces/pessoa-detalhe.xhtml</to-view-id>
        </navigation-case>

O problema é que se eu selecionar o Jorje e clicar no commandButton Ok, aparece: "Erro de conversão ao definir o valor 'Jorje' para 'null Converter'. " Assim acontece com qualquer outra pessoa que está na lista. Como faço pra pegar a pessoa selecionada da lista e ir pra uma próxima página, onde terá os detalhes dela (nome, idade, cidade etc)?

2 Respostas

Master.Abs

O seu commandoButton está fazendo a chamada para selecionarPessoaOK mas na classe meuBean o método que faz a chamada é public String selecionarAlunoOk() {

R

kd o converter ???

Criado 8 de dezembro de 2010
Ultima resposta 8 de dez. de 2010
Respostas 2
Participantes 3