An Error Occurred: A ID de componente cadastro:nome já foi encontrada na visualização

Ola amigos, alguem sabe me dizer como resulver esse erro ?

[code]An Error Occurred:
A ID de componente cadastro:nome já foi encontrada na visualização.

  • Stack Trace
  • Component Tree
  • Scoped Variables[/code]

Quando eu clico para expandir, eu recebo mais informações

Stack Trace

[code]Stack Trace

java.lang.IllegalStateException: A ID de componente cadastro:nome já foi encontrada na visualização.
at com.sun.faces.util.Util.checkIdUniqueness(Util.java:821)
at com.sun.faces.util.Util.checkIdUniqueness(Util.java:805)
at com.sun.faces.util.Util.checkIdUniqueness(Util.java:805)
at com.sun.faces.util.Util.checkIdUniqueness(Util.java:805)
at com.sun.faces.application.view.StateManagementStrategyImpl.saveView(StateManagementStrategyImpl.java:144)
at com.sun.faces.application.StateManagerImpl.saveView(StateManagerImpl.java:133)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.br.joaoleno.web.filter.HibernateSessionRequestFilter.doFilter(HibernateSessionRequestFilter.java:29)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
[/code]

Component Tree

[code]Component Tree

<?xml version="1.0" encoding="ISO-8859-1" ?>

<html xmlns="http://www.w3.org/1999/xhtml">

<UIOutput id="j_idt4" inView="true" rendered="true" transient="false">

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> <title>Cadastro de Usuários</title>

</UIOutput>

<UIOutput id="j_idt6" inView="true" rendered="true" transient="false">

    <h1>Cadastro de Usuários</h1> <hr/>

    <HtmlForm enctype="application/x-www-form-urlencoded" id="cadastro" inView="true" prependId="true" rendered="true" submitted="false" transient="false">

        <HtmlMessages globalOnly="false" id="j_idt8" inView="true" layout="list" redisplay="true" rendered="true" showDetail="false" showSummary="true" tooltip="false" transient="false"/>

        <!--O campo idUsuario e estatus estão ocultos -->

        <HtmlInputHidden id="j_idt10" immediate="false" inView="true" localValueSet="false" rendered="true" required="false" transient="false" valid="true"/>

        <HtmlInputHidden id="j_idt11" immediate="false" inView="true" localValueSet="false" rendered="true" required="false" transient="false" valid="true"/>

        <HtmlPanelGrid border="-2147483648" columns="2" id="j_idt12" inView="true" rendered="true" transient="false">

            <HtmlOutputLabel escape="true" for="nome" id="j_idt13" inView="true" rendered="true" transient="false" value="Nome.: "/>

            <HtmlInputText disabled="false" id="nome" immediate="false" inView="true" label="Nome" localValueSet="false" maxlength="45" readonly="false" rendered="true" required="true" requiredMessage="Digite seu nome." size="45" transient="false" valid="true"/>

            <HtmlOutputLabel escape="true" for="email" id="j_idt14" inView="true" rendered="true" transient="false" value="E-mail.: "/>

            <HtmlPanelGroup id="j_idt15" inView="true" rendered="true" transient="false">

                <HtmlInputText disabled="false" id="email" immediate="false" inView="true" label="E-mail" localValueSet="false" maxlength="70" readonly="false" rendered="true" required="true" requiredMessage="Por favor digite seu e-mail" size="70" transient="false" valid="true" validatorMessage="E-mail inválido"/>

            </HtmlPanelGroup>

            <HtmlSelectOneMenu disabled="false" id="idioma" immediate="false" inView="true" localValueSet="false" readonly="false" rendered="true" required="false" transient="false" valid="true">

                <UISelectItem id="j_idt16" inView="true" itemDisabled="false" itemEscaped="true" itemLabel="Português" itemValue="pt_BR" noSelectionOption="false" rendered="true" transient="false"/>

                <UISelectItem id="j_idt17" inView="true" itemDisabled="false" itemEscaped="true" itemLabel="English" itemValue="en_US" noSelectionOption="false" rendered="true" transient="false"/>

                <UISelectItem id="j_idt18" inView="true" itemDisabled="false" itemEscaped="true" itemLabel="Espanol" itemValue="es_ES" noSelectionOption="false" rendered="true" transient="false"/>

            </HtmlSelectOneMenu>

            <HtmlOutputLabel escape="true" for="senha" id="j_idt19" inView="true" rendered="true" transient="false" value="Senha.: "/>

            <HtmlInputSecret disabled="false" id="nome" immediate="false" inView="true" label="Nome" localValueSet="false" maxlength="15" readonly="false" redisplay="true" rendered="true" required="true" size="15" transient="false" valid="true"/>

            <HtmlOutputLabel escape="true" for="confSenha" id="j_idt20" inView="true" rendered="true" transient="false" value="Confirmar Senha.: "/>

            <HtmlInputSecret disabled="false" id="nome" immediate="false" inView="true" label="Nome" localValueSet="false" maxlength="15" readonly="false" redisplay="true" rendered="true" required="true" size="15" transient="false" valid="true"/>

            <HtmlCommandButton action="#{usuarioBean.salvar}" actionExpression="#{usuarioBean.salvar}" disabled="false" id="j_idt21" immediate="false" inView="true" readonly="false" rendered="true" transient="false" type="submit" value="Salvar"/>

        </HtmlPanelGrid>

    </HtmlForm>

    <hr/>

</UIOutput>

</html>

[/code]

Scoped Variables

- Scoped Variables Request ParametersName Value None View AttributesName Value None Request AttributesName Value None Flash AttributesName Value None Session AttributesName Value None Application AttributesName Value csfcff com.sun.faces.context.flash.ELFlash@1128ee5

O meu formulario, estar assim.:

[code]<?xml version="1.0" encoding="ISO-8859-1" ?>

Cadastro de Usuários

Cadastro de Usuários


            <h:outputLabel value="E-mail.: " for="email" />
            <h:panelGroup>
                <h:inputText id="email" label="E-mail" value="#{usuarioBean.usuario.email}" size="70" maxlength="70" required="true" validatorMessage="E-mail inválido" requiredMessage="Por favor digite seu e-mail">
                    <f:validateRegex pattern="[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_\.]+"> </f:validateRegex>
            </h:inputText>
            </h:panelGroup>
            
            <h:selectOneMenu id="idioma" value="#{usuarioBean.usuario.idioma}">
                <f:selectItem itemValue="pt_BR" itemLabel="Português"/>
                <f:selectItem itemValue="en_US" itemLabel="English"/>
                <f:selectItem itemValue="es_ES" itemLabel="Espanol"/>
            </h:selectOneMenu>
            
            <h:outputLabel value="Senha.: " for="senha" />
            <h:inputSecret id="nome" label="Nome" value="#{usuarioBean.usuario.senha}" size="15" maxlength="15" required="true" redisplay="true"/>

            <h:outputLabel value="Confirmar Senha.: " for="confSenha" />
            <h:inputSecret id="nome" label="Nome" value="#{usuarioBean.confirmarSenha}" size="15" maxlength="15" required="true" redisplay="true"/>
            <h:commandButton action="#{usuarioBean.salvar}" value="Salvar"/>
               
</h:panelGrid>	

</h:form>


[/code]

Olha a mensagem de erro:[quote]A ID de componente cadastro:nome já foi encontrada na visualização.[/quote]Em algum momento você está passando dois componentes com o ID nome. Procure direitinho no seu código que você vai encontrar.

jakefrog , é mesmo tem um monte com o mesmo ID, vou trocar pra ve se funciona.

jakefrog, era exatamente isso meu caro!!!

agora quando eu clico no botao, da esse outro erro

[code]An Error Occurred:
/usuario.xhtml @15,62 value="#{usuarioBean.usuario.idUsuario}": Target Unreachable, identifier ‘usuarioBean’ resolved to null

  • Stack Trace
  • Component Tree
  • Scoped Variables[/code]

eu acho que é por que eu não mapiei no faces-config, já que o netbeans não gera. Sabe como resolver ?

obrigado!

[quote=joaolenosi]jakefrog, era exatamente isso meu caro!!!

agora quando eu clico no botao, da esse outro erro

[code]An Error Occurred:
/usuario.xhtml @15,62 value="#{usuarioBean.usuario.idUsuario}": Target Unreachable, identifier ‘usuarioBean’ resolved to null

  • Stack Trace
  • Component Tree
  • Scoped Variables[/code]

eu acho que é por que eu não mapiei no faces-config, já que o netbeans não gera. Sabe como resolver ?

obrigado![/quote]Coloque as anotações na classe do MB. ^^
Aqui tem um tutorial: JSF - Hello World, AutoComplete

Beeleza vou da uma olhada agorinha mesmo, muito obrigado.

jakefrog , fiz conforme o tutorial, mais mesmo assim ainda não funcionou. Acho que sei qual é o problema.
Se você olhar a mensagem quando eu clico no botao @15,62 value="#{usuarioBean.usuario.idUsuario}" ele não estar conseguindo achar idUsuario, é tanto que eu dou ctrl + espaço e não localizo no auto complete, e quando o meu arquivo xml, começa o primeiro dado, que ele pega é o id

[code]An Error Occurred:
/usuario.xhtml @15,62 value="#{usuarioBean.usuario.idUsuario}": Target Unreachable, identifier ‘usuarioBean’ resolved to null

  • Stack Trace
  • Component Tree
  • Scoped Variables[/code]

<h:inputHidden value="#{usuarioBean.usuario.idUsuario}"/> <h:inputHidden value="#{usuarioBean.usuario.estatus}"/>

Não mano, se você olha a mensagem de erro ele fala que seu ManagedBean está null:[quote]Target Unreachable, identifier ‘usuarioBean’ resolved to null[/quote]As anotações estão as mesmas? Os mesmo imports?

não sei por que estar ocorrendo isso, minha class managedbean, estar correta.

[quote=joaolenosi]não sei por que estar ocorrendo isso, minha class managedbean, estar correta.[/quote]Então veja c você criou o projeto corretamente. Se os JARs do JSF foram adicionados corretamente.

Desculpe, mas não sei como fazer isso no netbeans.

Boa sorte aí.

jakefrog , as anotações estão as mesmas, olhe minha class bean!!

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package com.br.joaoleno.web;

/**
*

  • @author Joao Leno
    */

import javax.faces.bean.*;
import javax.faces.context.FacesContext;
import com.br.joaoleno.usuario.Usuario;
import com.br.joaoleno.usuario.UsuarioRN;
import javax.faces.application.FacesMessage;

@ManagedBean (name=“usuario”)
@RequestScoped

public class UsuarioBean {

private Usuario usuario = new Usuario();
private String confirmaSenha;

public String novo(){
    usuario = new Usuario();
    usuario.setStatus(true);
    return "usuario";
}

public String salvar(){
    FacesContext context = FacesContext.getCurrentInstance();
    String senha = usuario.getSenha();      
    if(!senha.equals("confirmarSenha")){
        FacesMessage facesMessage = new FacesMessage("Confirmação de senha inválida.");
        context.addMessage(null, facesMessage);
        return null;
    }
    UsuarioRN usuarioRN = new UsuarioRN();
    usuarioRN.salvar(usuario);
    
    return "usuarioCadastrado";
}

public String getConfirmaSenha() {
    return confirmaSenha;
}

public void setConfirmaSenha(String confirmaSenha) {
    this.confirmaSenha = confirmaSenha;
}

public Usuario getUsuario() {
    return usuario;
}

public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
}

}
[/code]

jakefrog , eu não coloquei nenhum jar, no meu projeto não, o netbeans não gera a pasta lib, será que o problema tá relacionado com isso ?

criei manualmente o faces-config.xml, já que o netbeans não gera!

isso é válido ?

<?xml version="1.0" encoding="UTF-8" ?> <faces-config 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_2_0.xsd" version="2.0"> <managed-bean> <managed-bean-name>usuarioBean</managed-bean-name> <managed-bean-class>com.br.joaoleno.web.UsuarioBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> </faces-config>

[quote=joaolenosi]criei manualmente o faces-config.xml, já que o netbeans não gera!

isso é válido ?

<?xml version="1.0" encoding="UTF-8" ?> <faces-config 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_2_0.xsd" version="2.0"> <managed-bean> <managed-bean-name>usuarioBean</managed-bean-name> <managed-bean-class>com.br.joaoleno.web.UsuarioBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> </faces-config>[/quote]Uma vez que você coloque anotação, ele deveria entender mesmo sem o arquivo.

Acho que é algo na estrutura do seu projeto. [=