Erro ao montar combo box

2 respostas
spbaena

Pessoal

estou com problemas para montar um combo box com dados vinda da base.

<h:selectOneListbox value="#{caixaFace.selectedCaixa.tipoDocumento.id}">
    <f:selectItems value="#{tipoDocumentoFace.tipoDocumentos}" />
</h:selectOneListbox>

Estou no jsp para inclusão do cadastro de uma caixa e quero selecionar o tipo de documento que vai dentro desta caixa. O valor devolvido no combo deve ser o id do tipo de documento selecionado, e a lista do combo são os tipos de documentos consultados na base. (só pra ficar claro se estou pensando direito)

O método que lista os tipos de documentos:

public List<TipoDocumento> getAllTipoDocumentos ()  throws SQLException, ClassNotFoundException {
        List<TipoDocumento> toReturn = new LinkedList<TipoDocumento>();
        ResultSet rs = getStatement().executeQuery("select * from tipo_documento");

        while (rs.next()) {
            TipoDocumento tipoDocumento = new TipoDocumento();
            populateTipoDocumento(tipoDocumento, rs);
            toReturn.add(tipoDocumento);
        }
        rs.close();
        return toReturn;
    }

dá a seguinte exception: javax.servlet.ServletException: Argument Error: An option for component j_id_id39 was not an instance of javax.faces.model.SelectItem. Type found: java.util.LinkedList.

Alguem pode me dar uma ajuda?

2 Respostas

fabiocsilva
Você tem que retornar o tipo List, conforme indica o log de erro.

É só criar uma lista desse tipo no seu código e depois usa algo como

for()

listaSelectItem.add(new SelectItem());
spbaena

thanx! resolvido.

Criado 8 de julho de 2010
Ultima resposta 8 de jul. de 2010
Respostas 2
Participantes 2