Migrando do Primefaces 3.0 para 3.1.1 - erro: property "doLogin" not found

Olá pessoal,
estou tentando configurar meu projeto para rodar Spring 3 + JSF 2, mas quando acesso minha pagina recebo o seguinte erro:

[color=red]GRAVE: Error Rendering View[//WEB-INF/visao/paginas/loginVisao/login.xhtml]
javax.el.ELException: /WEB-INF/visao/paginas/loginVisao/login.xhtml: Property ‘doLogin’ not found on type com.icon.leilao.controle.mb.impl.LoginBean
at com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:87)
[/color]

sendo que quando eu utilizava Spring 2.5 + JSF 2, estava funcionando.

estou mandando meus aquivos de configuracao…

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.0" 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">
	<application>
		<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
		<locale-config>
		</locale-config>
		<resource-bundle>
			<base-name>MessageResources</base-name>
			<var>messages</var>
		</resource-bundle>
	</application>
</faces-config>

web.xml

<?xml version="1.0" encoding="ASCII"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">

	<!-- CONTEXT-PARAMS -->
	<context-param>
		<param-name>javax.faces.CONFIG_FILES</param-name>
		<param-value>
  			/WEB-INF/faces-config.xml
  		</param-value>
	</context-param>

	<context-param>
		<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>client</param-value>
	</context-param>

	<context-param>
		<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
		<param-value>resources.application</param-value>
	</context-param>

	<!-- SERVLETS -->
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>

	<!-- LISTENERS -->
	 <listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
</web-app>

LoginBean.java

@ManagedBean
@SessionScoped
public class LoginBean implements Serializable {
   private Usuario usuarioLogado;

@PostConstruct
public void inicializar() {
              usuarioLogado = new Usuario();
}

public String doLogin() {
   return "home";
}

}

login.xhtml


<?xml version="1.0" encoding="ISO-8859-1"?>
<!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:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
	  xmlns:ui="http://java.sun.com/jsf/facelets"
	  xmlns:p="http://primefaces.prime.com.tr/ui">

<h:form>
					<h:panelGrid columns="1" style="margin:40px auto 0 auto">
						<p:panel  header="#{i18n.nomeSistema}"  footer="#{i18n.iconSolucoes}"  style="font-size:14px" >
							<h:panelGrid style="font-size:14px">
					        	<h:outputText value="#{i18n['login.nome']}" />
					            <p:inputText value="#{loginBean.usuarioLogado.login}"/><br/>
					        	<h:outputText value="#{i18n['login.senha']}" />
					            <p:password value="#{loginBean.usuarioLogado.senha}" promptLabel="#{i18n.passwordLabel}" goodLabel="#{i18n.passwordGood}" weakLabel="#{i18n.passwordWeak}" strongLabel="#{i18n.passwordStrong}"/><br/>
					            <p:commandButton ajax="false" action="#{loginBean.doLogin}" value="#{i18n['login.nome']}" />
					            <p:commandLink ajax="false" action="#{loginBean.showFormEsqueciMinhaSenha}" value="#{i18n['login.esqueci']}"/>
							</h:panelGrid>
							
						</p:panel>
					</h:panelGrid>
				</h:form>

</html>

É isso pessoal.
Já pesquisei na web, mas ninguém conseguiu mostrar uma resposta que faça resolver… até existem muitas pessoas com esse mesmo problemas, mas nenhuma colocou a solução.

Alguém pode me ajudar?

O problema do property “doLogin” not found estava na taglib do primefaces.

exemplo de taglibs… Os xmlns mostrados nos codigos permitem que vc acesse os componentes dos frameworks na sua página xhtml. Perceba que "xmlns:p=“http://primefaces.prime.com.tr/ui” aponta para o primefaces. Assim, se eu quiser usar componentes do primefaces em minha página, basta colocar minha tags iniciando com a letra “p”. Ex. <p:accordionPanel> ou <p:table> etc.

exemplo da definição de taglibs em páginas xhtml.

<      xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.prime.com.tr/ui">

a tag para primefaces 3.0 ou versao anterior:

xmlns:p="http://primefaces.prime.com.tr/ui"

a tag para primefaces 3.1.1

xmlns:p="http://primefaces.org/ui

espero ter contribuido.

Rayfran Rocha
www.iconsolucoes.com