Erro com método Bean no jsf - RESOLVIDO

5 respostas
alexandresobral2004

Pessoal sou iniciante em java, estou fazendo um programa de controle de patrimonio,só que no cadastro de fornecedores, mais especificamente no médoto do DAO chamado listaFornecedor tem algum erro que não estou encontrando.Descobri isso porque quando chamo o bean no fornecedor no arquivo.jsf ele mostra o bean, mas os métodos não aparecem, aí quando comento o método que lista os forncedores no bean, aparece os outros métodos na página jsf.

Espero ter sido claro.

Quem puder auxiliar fico muitissimo grato!!

5 Respostas

Rodrigo_Sasaki

não foi muito claro não, rs.

Mas como suspeita que o problema está no método listaFornecedor poste ele aí.

Antes verifique se é lançada alguma exceção no console na hora de carregar a página, se aparecer, coloque aqui também.

Obs: use as tags para postar código, por favor

alexandresobral2004

ESTE É O MÉTODO QUE ESTÁ NO MEU DAO

public List<fornecedor> listaFornecedor() throws ClassNotFoundException, SQLException{
        ResultSet rs = null;
        PreparedStatement ps = (PreparedStatement)getPreparedStatement("select * from patrimonio.fornecedor");
        rs = ps.executeQuery();
        List<fornecedor> list = new ArrayList<fornecedor>();
        while(rs.next()){
            Integer code = rs.getInt(1);
            String nome = rs.getString(2);
            String cnpj = rs.getString(3);
            list.add(new fornecedor(code,nome,cnpj));
        }
        
        return list;
    }

ESTE É O MÉTODO QUE ESTÁ NO MEU BEAN

public List<fornecedor> getListaFornecedor() throws ClassNotFoundException,SQLException,Exception{
        if(fornecedores == null){
          fornecedores = forndDAO.listaFornecedor();
        }
        return fornecedores;
    }

quando vou setar o bean na página jsf aparece uma bolina vermelha no canto direito inferior do netbeans com essa exceção java.lang.ArrayIndexOutOfBoundsException.

O que pode ser isso??

kcobainnn

E como está a sua página?

alexandresobral2004

Minha Página

<!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:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

    <body>

        <ui:composition template="./template.xhtml">

           <!-- <ui:define name="top">
                top
            </ui:define>

            <ui:define name="left">
                left
            </ui:define> -->

            <ui:define name="content">
                 <h:form id="tipo">
                     <h:dataTable value="#{forneceBean.<--(aqui é pra mim chamar o método listaFornecedor}" var="tipos" border="1" cellpadding="2" cellspacing="2">

                <f:facet name="header">
                    Cadastro de Categorias
                </f:facet>
                <h:column>
                        <f:facet name="header">
                            <h:outputText value="ID Categoria"/>
                        </f:facet>
                    <h:commandLink action="#{tipoBean.startAddTipo}" value="#{tipos.ti_code}" title="Clique aqui para editar">
                        <f:setPropertyActionListener target="#{tipoBean.selectedTipo}" value="#{tipos}"/>
                        </h:commandLink>
                    </h:column>
                <h:column>
                    <f:facet name="header">
                        <h:outputText value="Categoria"/>
                    </f:facet>
                    <h:outputText value="#{tipos.ti_nome}"/>
                    
                </h:column>
                <h:column>
                    <f:facet name="header">
                        <h:outputText value="Remover Categoria"/>
                    </f:facet>
                    <h:commandLink action="#{tipoBean.removeTipo}" value="Excluir">
                        <f:setPropertyActionListener target="#{tipoBean.selectedTipo}" value="#{tipos}"/>
                     </h:commandLink>
                </h:column>
              </h:dataTable>
            <h:dataTable value="tableBotoes" cellpadding="2" cellspacing="2" var="botoes">
                <h:column>
                    <h:commandLink action="#{tipoBean.startAddTipo}" value="Nova Categoria"/>
                </h:column>
                <h:column>
                    <h:commandLink action="index" value="Menu Principal"/>
                </h:column>
            </h:dataTable>
        </h:form>
            </ui:define>

        </ui:composition>

    </body>
</html>

ESSA PÁGINA EU COPIEI DE OUTRO CADASTRO, APENAS PRA FAZER UM TESTE.PORQUE A QUE VAI MOSTRAR OS FORNECEDORES É SEMELHANTE.

alexandresobral2004

Amigos descobri que o problema que relatei é consequência de um BUG no netbeans 7.1 e 7.2.Instalei o netbeans 7.2 RC1 e deu blz.

Alexandre

Criado 11 de julho de 2012
Ultima resposta 12 de jul. de 2012
Respostas 5
Participantes 3