Boa tarde a todos!
Logo na página de login, ao trocar todos os componentes nativos do JSF por componentes do Primefaces, me deparo com a seguinte Exception ao tentar efetuar o login: java.lang.NoSuchMethodError: org.primefaces.util.ResourceUtils.getComponentResources(Ljavax/faces/context/FacesContext;)Ljava/util/ArrayList;
Se eu tento logar sem email e senha, a renderização de mensagens funciona e avisa quais campos estão faltando. Ao preenche-las, não acontece nada na pagina e a Exception é lançada. Retirando o componente do botão de login e colocando o nativo do JSF, o processo de login volta a funcionar. Creio que algo esteja errado com o AJAX. Alguem poderia por favor me mostrar o caminho para encontrar a solução?
Atenciosamente,
Erik Bagger.
Segue o código do arquivo login.xhtml:
<?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:p="http://primefaces.org/ui"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<h:head />
<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">
<h:panelGrid columns="3">
<p:fieldset legend="Login" style="width: 400px">
<h:panelGrid columns="2">
<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:outputLabel value="Senha:" for="senha" />
<p:password id="senha" value="#{loginBean.usuario.senha}"
feedback="true" required="true" />
<p:commandButton value="Efetue Login"
action="#{loginBean.efetuaLogin}" update="@form" process="@form" />
</h:panelGrid>
</p:fieldset>
<h:panelGrid columns="1">
<p:message for="email" id="messageEmail" />
<p:message for="senha" id="messageSenha" />
</h:panelGrid>
</h:panelGrid>
</h:form>
</ui:define>
</ui:composition>
</html>