Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

erro ao iniciar o curso Prime Faces com CDI

Gente estou com dificuldade aqui ao iniciar o no curso JSFII integração com CDI aconteceu o seguinte erro:

root cause

org.primefaces.expression.ComponentNotFoundException: Cannot find component for expression "@form" referenced from "j_idt12". org.primefaces.expression.SearchExpressionFacade.cannotFindComponent(SearchExpressionFacade.java:673) org.primefaces.expression.SearchExpressionFacade.resolveClientIds(SearchExpressionFacade.java:242) org.primefaces.util.AjaxRequestBuilder.addExpressions(AjaxRequestBuilder.java:92) org.primefaces.util.AjaxRequestBuilder.process(AjaxRequestBuilder.java:79)

o meu codigo da pagina é o seguinte:

<?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://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

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

        <ui:define name="titulo">
            <p:outputPanel>Login</p:outputPanel>   
        </ui:define>

        <ui:define name="conteudo">
        <p:messages globalOnly="true"/>

            <h:form id="login">
                <p:fieldset legend="Login">

                    <h:panelGrid columns="3">

                        <p:outputLabel value="Email:" for="email" />
                        <p:inputText id="email" value="#{loginBean.usuario.email}"
                            required="true">
                            <f:passThroughAttribute name="type" value="email" />
                        </p:inputText>

                        <p:message for="email" id="messageEmail" />

                        <p:outputLabel value="Senha:" for="senha" />
                        <p:password  id="senha" value="#{loginBean.usuario.senha}"  required="true" feedback="true"/>


                        <p:message for="senha" id="messageSenha" />

                        <p:commandButton value="Efetuar Login"  action="#{loginBean.efetuaLogin}" update="@form" process="@form"/>
                    </h:panelGrid>
                </p:fieldset>
            </h:form>
        </ui:define>
    </ui:composition>
</html>

alguém por favor me ajude ai.

2 respostas
solução!

Oi Isael, se vc faz a requisição sem ajax tudo funciona de boa? Dei uma olhada no seu código e não vi nada de errado :(. Se quiser, passa o link do github do seu projeto, posso tentar olhar. Um chute, bem chute, é que talvez sua alteração na página não tenha sido publicada... To inclinado a achar que é algo de ambiente.

Obrigado Alberto Souza o erro é que quando baixei o projeto a biblioteca do jsf estava duplicada com com duas versões diferentes.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software