- Registrei o variable Resolver no faces-config.xml,
configurei meus beans, no “businessContext” (applicationContext.xml).
<application>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>en</supported-locale>
<supported-locale>es</supported-locale>
</locale-config>
<message-bundle>messages</message-bundle>
</application>
- Configurei as “properties” no faces-config.xml mesmo, com os beans do Spring
<managed-bean>
<managed-bean-name>pc_ManterClientePageForm</managed-bean-name>
<managed-bean-class>
br.com.agence.sales.control.ManterClientePageForm
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>clientService</property-name>
<value>#{clientService}</value>
</managed-property>
</managed-bean>
O que ocorre é que, na execução, é setado as propriedades no managedBean quando eu entro na página (setClientService),
só que o clientService que vem como argumento é nulo…
Ou seja… não tá buscando do Spring.
Como eu faço funcionar ? Parece que eu segui todos os passos corretamente
a unica diferença pra o que e costumo fazer é que eu configuro também o tipo da propriedade no faces-config.xml
ou então as vezes nem coloco nada no faces-config, coloco todos os beans direto no applicationContext.xml
Define os manageBeans dentro do applicationContext?
nao funciona aqui,
o que ta documentado la é usar esse variableResolver,
não entendo porque vem nulo
tentei até registrar um bean String aqui e nada, olha o código do applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="text" class="java.lang.String">
<constructor-arg>
<value>A Text From Spring</value>
</constructor-arg>
</bean>
</beans>
E lá no faces-config, fiz a referência
<managed-bean>
<managed-bean-name>pc_LoginPageForm</managed-bean-name>
<managed-bean-class>
br.com.agence.sgv.control.LoginPageForm
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>text</property-name>
<property-class >java.lang.String</property-class>
<value>#{text}</value>
</managed-property>
</managed-bean>
Na hora de acessar a pagina, o setter e´ chamado e o parametro é nulo !
argh
da uma olhada no meu blog e baixa os exemplos das palestras na SEPAI e do ultimo webmobile 
tem exemplos disto la …
PS.: tu colocou o listener do spring no web.xml?
[quote=urubatan]da uma olhada no meu blog e baixa os exemplos das palestras na SEPAI e do ultimo webmobile 
tem exemplos disto la …
PS.: tu colocou o listener do spring no web.xml?[/quote]
claro,
inclusive, pegando explicitamente pelo applicationContext
ApplicationContext ctx = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
this.clientService = (ClientService) ctx.getBean("clientService");
funciona.
Ele deveria injetar quando eu acesso a página ou é só dessa forma que eu consigo obter o objeto?
vamos passo a passo então
o que esta no parametro: contextLocation do web.xml?
onde esta o arquivo applicationContext.xml?
em que arquivo esta definido o bean que tu quer usar a partir do JSF?
uma outra solução, caso tu esteja usando o spring 2.0
é acessar o site do spring-annotation, e pegar os jars dos modulos web e jsf
se for só para fazer esta integração, no que tu colocar estes jars no teu web-inf/lib isto ja deve passar a funcionar 
No web.xml eu não especifiquei o caminho do contextConfigLocation, o que faz ele ler do web-inf, e ta la o applicationContext - se nao tivesse la nem daria pra pegar o bean explicitamente como eu mostrei no post anterior.
só tenho isso relativo ao spring no web.xml
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
qual versáo/implementação do JSF vc esta usando?
Eu to usando o JSF 1.2 (sun),
com o Tomcat 5.5.20,
com o Facelets e seu compilador de JSP pra poder suportar o JSF 1.2 em cima desse tomcat
bom, eu só testei até agora o spring+jsf 1.1 …
pode ser isto, vou tentar arrumar um tempo pra testar spring+jsf 1.2 …
Já tentou utilizar o VariableResolver?
<faces-config>
<application>
<variable-resolver>
org.springframework.web.jsf.SpringBeanVariableResolver
</variable-resolver>
</application>
</faces-config>
T+