HELP! Não consigo acessar o método exclui (Bean) via form JSF. URGENTE! Não sei mais o que tentar

0 respostas
M

Galera desculpa, mas preciso urgente de ajuda. Não consigo acessar o método exclui. Não acho erro nenhum, clico no link e não acontece nada. Por favor, ajudem...

index.jsf

<html>
    <f:view>
    <head>
        <f:loadBundle
            basename="br.com.integrator.cap15.jsf.mensagens"
            var="msgs" />
            <title>
            <h:outputText value="#{msgs.Titulo1}"/>
            </title>
    </head>
    <body>
        <h:form> <!-- //value = propriedade do backbean que retorna uma lista. var = nome referenciar itens da lista -->
            <h:dataTable value="#{agenda.lista}" var="dados" border="1">
                <h:column>
                    <f:facet name="header">
                        <h:outputText value="#{msgs.Cod}"/>
                    </f:facet>
                    <h:outputText value="#{dados.cod}"/>
                </h:column>
                <h:column>
                <f:facet name="header">
                    <h:outputText value="#{msgs.Titulo}"/>
                </f:facet>
                <h:outputText value="#{dados.titulo}"/>
            </h:column>
                <h:column>
                <f:facet name="header">
                    <h:outputText value="#{msgs.Link}"/>
                </f:facet>
[b]            <h:commandLink value="Excluir" action="#{agenda.exclui}" >
                    <f:setPropertyActionListener value="#{dados.cod}" target="#{agenda.cod}"  /> 
                </h:commandLink>[/b]  
        </h:column>
        </h:dataTable>
       </h:form>
    </body>
</f:view>
</html>

AgendaBean.java

public class AgendaBean {
    private String cod;
    private String titulo;
    private Connection conn;
    public void abrirConexao()
            throws SQLException,
            NamingException,
            ClassNotFoundException
    {
        if (conn != null) return;
        Class.forName("org.gjt.mm.mysql.Driver");
        conn = DriverManager.getConnection("jdbc:mysql://localhost/bdlivros2","root","senha123");
    }

    public Result getLista()
            throws SQLException,
            NamingException,
            ClassNotFoundException
    {
        try{
            abrirConexao();
            Statement stmt = conn.createStatement();
            //stmt.executeUpdate("INSERT INTO livros(Cod, Titulo) VALUES (1, 'Weeeb') "); inserindo ok
            //stmt.executeUpdate("DELETE FROM livros WHERE cod=12333"); excluindo ok
            ResultSet result = stmt.executeQuery("SELECT * from livros");
            return ResultSupport.toResult(result);
        }finally{
            fecharConexao();
        }
    }
    
   
[b]    public String exclui() throws SQLException, NamingException, ClassNotFoundException {   
        String result = "erro";    
        try {   
            abrirConexao();
            Statement stmt = conn.createStatement();   
            stmt.executeUpdate("delete from livros where cod = '" + cod + "'");   
            stmt.close();   
            result = "ok";   
        } catch (SQLException e) {   
            System.err.println ("Erro: "+e);   
            result = "erro";   
        }   
        return result;   
    }  [/b]  
    
    public void fecharConexao() throws SQLException{
        if (conn == null) return;
        conn.close();
        conn = null;
    }
}

faces-config.xml

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <managed-bean>
        <managed-bean-name>agenda</managed-bean-name>
        <managed-bean-class>br.com.integrator.cap15.jsf.AgendaBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
</faces-config>
Criado 18 de outubro de 2010
Respostas 0
Participantes 1