A janela para confirmar Sim Não, nao estar funcionando ! JSF

Bom dia pessoal

Estou estudando JSF, seguindo um tutorial …

  • mas estou com esse problema da janela … para confirmar excluir ? Sim ou Nao …
    volto a perguntar ao pessoal aki …
    e agradecer …

PrimeFaces 3.5

Segui o codigo:

<?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"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Lindberg Teste JSF</title>
    </h:head> 
    <h:body>  
        <p:layout fullPage="true">
            <p:layoutUnit position="north" size="100">
                <center>Cadastro de Clientes</center>
            </p:layoutUnit>
            <p:layoutUnit position="west" size="200" rendered="true" resizable="true" closable="true" header="Menu" collapsible="true">
                <h:form>
                    <p:commandLink value="Novo Cliente" actionListener="#{cfControle.prepararAdicionarcf(actionEvent)}" onclick="dlgcf.show();" />
                </h:form>
            </p:layoutUnit>
            <p:layoutUnit position="center" >
                <h:form prependId="false" >
                    <p:dialog widgetVar="dlgcf" resizable="false" header="Cadastro de Cliente" height="250" width="400" >
                        <p:panelGrid columns="2">
                            <h:outputText value="Nome"/>
                            <p:inputText id="nome" value="#{cfControle.cli.nome}" />
                            <h:outputText value="Fone"/>
                            <p:inputText id="fone" value="#{cfControle.cli.fone}" />
                            <p:commandButton value="Salvar" id="salva" actionListener="#{cfControle.adicionar(actionEvent)}" 
                                             update="cli" oncomplete="dlgcf.hide()" /> 
                        </p:panelGrid>
                    </p:dialog>

                    <!--                </h:form>
                    
                                    <h:form prependId="false">
                    -->
                    <p:dataTable id="cli" value="#{cfControle.listacf}" var="cli">
                        <p:column> 
                            <f:facet name="header">
                                <h:outputText value="Nome"/>
                            </f:facet>
                            <h:outputText value="#{cli.nome}"/>
                        </p:column>
                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="Telefone"/>
                            </f:facet>
                            <h:outputText value="#{cli.fone}"/>
                        </p:column>
                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="Excluir"/>
                            </f:facet>

<!-- aqui nao abre a janela popup, para condirmar -->
                            <p:commandLink value="Excluir" action="#{cfControle.excluir()}" 
                                                         onclick="if {!confirm{'Deseja excluir o cliente #{cli.nome}?'}} return false;" 
                                                         update="cli" />
                            
                        </p:column>
                    </p:dataTable>
            </h:form>	
            </p:layoutUnit>
        </p:layout>
    </h:body>
</html>





//------------------ aqui o controle ----------------
package br.com.auto.controle;

import br.com.auto.daocf.InterfaceCF;
import br.com.auto.daocf.cfdao;
import br.com.auto.modelo.cf;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import java.util.List;
import javax.faces.event.ActionEvent;
import javax.faces.model.ListDataModel;

@ManagedBean
@SessionScoped
public class cfControle {
    private cf cli;
    private DataModel listacf;

    public cf getCli() {
        return cli;
    }

    public void setCli(cf cli) {
        this.cli = cli;
    }

    public DataModel getlistacf() {
        List<cf> lista = new cfdao().List();
        listacf = new ListDataModel(lista);
        return listacf;
    }
    
    public void prepararAdicionarcf(ActionEvent actionEvent) {
        cli = new cf();
    }

    public void prepararAlterarcf(ActionEvent actionEvent) {
        cli = (cf)(listacf.getRowData());
    }

    public void adicionar(ActionEvent actionEvent) {
        InterfaceCF dao = new cfdao();
        dao.salvar(cli);
    }

    public void alterar(ActionEvent actionEvent) {
        InterfaceCF dao = new cfdao();
        dao.atualizar(cli);
    }

    public String excluir() {
        cf cl = (cf)(listacf.getRowData());
        InterfaceCF dao = new cfdao();
        dao.remover(cl);
        return "index";
    }
    
    
}

Estou com IDE Netbeans 7.3

percebi que ao codificar a linha -> action="#{cfControle.excluir()}"

cfControle -> não mostra os metodos …

como não estivesse integrado …
como resolver ?

O que não funciona exatamente?

não abre a janela para confirmar, excluir -> Sim ou Não

Primeiramente o nome de uma classe tem que começar com letra maiúscula, tenta mudar o topo do seu Bean para:

@ManagedBean(name="cfControle")
@SessionScoped  
public class CfControle implements Serializable {  
public CfControle() {	// em todo bean deve-se declarar um construtor padrão
	}	

Segunda dica:

Tenta isso aqui:

<p:dialog id="dialogConfirmacao" widgetVar="dialogVar">

 ....

</p:dialog>


<p:commandLink value="Excluir" actionListener="#{cfControle.excluir()}"  process="@form update="formDilaog" />  


public synchronized void remover() {
		RequestContext.getCurrentInstance().execute("dialogVar.show()");	
	}

Espero ter ajudado,

um abraço,
Gustavo

A sintaxe da sua função JavaScript está errada.

Ao invés de ser:if {!confirm{'Deseja excluir o cliente #{cli.nome}?'}} return false; deveria serif(!confirm('Deseja excluir o cliente #{cli.nome}?')) { return false; }

Ola gustavo

muito obg pelas dicas…

entendi poucas coisas, continuo tentando.

o tutorial que estou tentando é este link: http://www.youtube.com/watch?v=14x65Tg1DsY

se voce tem ou conhece outro bom, por favor me fala

Obg

Bom dia pessoal

resumindo, o JSF recupera/processa informações de uma classe ?

Ola gustavo_souza

Ainda nao consegui …