Diferencia entre revisiones de «JSF Con Spring»
(Página nueva: Spring Framework trae un buen soporte para JSF, de manera de poder declarar Managed Beans e inyectarle objetos manejados por Spring. Esto se resuelve a través de la clase ''...) |
|||
Línea 7: | Línea 7: | ||
Primero, como siempre, debemos declarar el Factory de Spring para que esté disponible en nuetra aplicación web. En el archivo '''web.xml''' se agrega el listener, referenciando a todos los XML de Spring que necesitemos: | Primero, como siempre, debemos declarar el Factory de Spring para que esté disponible en nuetra aplicación web. En el archivo '''web.xml''' se agrega el listener, referenciando a todos los XML de Spring que necesitemos: | ||
+ | <code xml> | ||
<listener> | <listener> | ||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> | <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> | ||
Línea 18: | Línea 19: | ||
</param-value> | </param-value> | ||
</context-param> | </context-param> | ||
+ | </code> | ||
===faces-config.xml=== | ===faces-config.xml=== | ||
Línea 23: | Línea 25: | ||
A continuación un ejemplo de faces-config.xml, junto a un Managed Bean al que se le inyecta un objeto "flotaEspacialBo" (declarado con ese nombre en algún archivo de Spring): | A continuación un ejemplo de faces-config.xml, junto a un Managed Bean al que se le inyecta un objeto "flotaEspacialBo" (declarado con ese nombre en algún archivo de Spring): | ||
+ | |||
+ | <code xml> | ||
<faces-config> | <faces-config> | ||
<application> | <application> | ||
Línea 41: | Línea 45: | ||
</managed-bean> | </managed-bean> | ||
</faces-config> | </faces-config> | ||
+ | </code> | ||
==Ver también== | ==Ver también== | ||
* [[JSF]] | * [[JSF]] | ||
* [[Spring Framework]] | * [[Spring Framework]] |
Revisión del 19:18 17 ago 2008
Spring Framework trae un buen soporte para JSF, de manera de poder declarar Managed Beans e inyectarle objetos manejados por Spring.
Esto se resuelve a través de la clase org.springframework.web.jsf.DelegatingVariableResolver, la cual se integra con JSF para resolver los atributos de los Managed Beans.
Contenido
[ocultar]Ejemplo
web.xml
Primero, como siempre, debemos declarar el Factory de Spring para que esté disponible en nuetra aplicación web. En el archivo web.xml se agrega el listener, referenciando a todos los XML de Spring que necesitemos:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:dosideas-web-business.xml,
classpath:dosideas-web-interceptors.xml,
classpath:dosideas-web-ejb.xml
</param-value>
</context-param>
faces-config.xml
Por último, declaramos un variable-resolver en el archivo faces-config.xml. Esto nos permitirá inyectar beans de Spring a los Managed Beans de JSF.
A continuación un ejemplo de faces-config.xml, junto a un Managed Bean al que se le inyecta un objeto "flotaEspacialBo" (declarado con ese nombre en algún archivo de Spring):
<faces-config>
<application>
<variable-resolver>
org.springframework.web.jsf.DelegatingVariableResolver
</variable-resolver>
</application>
<managed-bean>
<description>Controller para el listado de eventos</description>
<managed-bean-name>consultaLog</managed-bean-name>
<managed-bean-class>com.dosideas.web.managedbeans.InvasorBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>flotaEspacialBo</property-name>
<value>#{flotaEspacialBo}</value>
</managed-property>
</managed-bean>
</faces-config>