Fiz um exemplo extremamente simples:
Meu applicationContext.xml é assim:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="userMBean" class="leonardo.UserMBean" scope="request"></bean>
</beans>
Meu faces-config.xml é assim:
<?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_1_2.xsd"
version="1.2">
<application>
<variable-resolver>org.springframework.web.jsf.SpringBeanVariableResolver</variable-resolver>
</application>
</faces-config>
Repare, o bean está no XML do Spring, hein?
Minha classe UserMBean é bobona assim:
package leonardo;
public class UserMBean {
public String getNome() {
return "Leonardo";
}
}
E minha página também é bobona:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
<h:outputText value="#{userMBean.nome}"></h:outputText>
</f:view>
</body>
</html>
Configuro tudo no Eclipse Ganymede, jogo os jars do MyFaces, do JSTL e do Spring, rodo no Tomcat e, tcha-ram!, vai aparecer “Leonardo” na tela!