IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

intégration de jsf et spring et récupération de beans de la couche métier


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2008
    Messages : 45
    Points : 31
    Points
    31
    Par défaut intégration de jsf et spring et récupération de beans de la couche métier
    salut,
    je suis entrain d'intégrer jsf avec Spring, pour le moment j'avais un problème de récupérer mes beans de la couche métier (beans service) la seule solution que j'ai pu trouvé c'est de faire une nouvelle méthode qui va récupérer l'instance que je veux et qui sont déjà instanciée lors de démarrage de l'application ,à partir de mon fichier applicationContext.xml, ma question est ce qu'il n y pas d'autre solution mieux que ça ?? c'est à dire une façon d'injecter le code par spring automatiquement sont faire cette procédure de récupérer le beans par ma méthode Finderservice(), et après de l'affecter au service déclarer au niveau des classe de ma couche application ??

    voilà mon code source :

    mon classe finderservice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
     package  ensias.servicefinder;
     
     
    import javax.faces.context.FacesContext;
    import javax.faces.context.ExternalContext;
     
    import javax.servlet.ServletContext;
     
     
     import org.springframework.context.ApplicationContext; 
     
     import org.springframework.web.context.support.WebApplicationContextUtils; 
     
     import java.util.Map; 
     
     import javax.servlet.ServletRequest; 
     import javax.servlet.http.HttpServletRequest; 
     
     public class ServiceFinder { 
     
     
    	public static Object findBean(String beanName){
    		FacesContext context= FacesContext.getCurrentInstance();
     
    		ServletContext servletContext = 
    		    (ServletContext)context.getExternalContext().getContext();
    		ApplicationContext appContext =
    		    WebApplicationContextUtils.getWebApplicationContext(servletContext);
     
    		Object o =appContext.getBean(beanName);
     
    		return o;
     
    	}
     
     }

    voilà mon fichier faces-config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
                                  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
     
     
    <managed-bean>
         <managed-bean-name>okok</managed-bean-name>
    <managed-bean-class>projet.application</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
     
    </managed-bean>
     
     
     
    </faces-config>
    et voilà mon fichier applicationContext :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="ISO_8859-1"?>
    <!DOCTYPE beans SYSTEM "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    	<!-- implémentation de la couche [dao] -->
    	<bean id="dao" class="istia.st.springmvc.personnes.dao.DaoImpl" init-method="init"/>
    	<!-- implémentation de la couche service -->
    	<bean id="service" class="istia.st.springmvc.personnes.service.ServiceImpl">
    		<property name="dao">
    			<ref local="dao"/>
    		</property>
    	</bean>
    </beans>

    et enfin voilà mon fichier web.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 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-app_2_5.xsd">
     
     
        	<listener>
    			<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	    </listener>
     
        <context-param>
            <param-name>com.sun.faces.verifyObjects</param-name>
            <param-value>false</param-value>
        </context-param>
        <context-param>
            <param-name>com.sun.faces.validateXml</param-name>
            <param-value>true</param-value>
        </context-param>
        <context-param>
            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
            <param-value>client</param-value>
        </context-param>
        <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>/faces/*</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>faces/index.jsp</welcome-file>
            </welcome-file-list>
        </web-app>

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    la réponse est dans la Spring

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2008
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    j'ai déjà fait ceci mais quand je déclare un une classe et je fais une déclaration de mon service toujour il me dire un NULL POINTER, c'est à dire que spring n'injecte pas de code dans mon nouveau service déclaré .

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2008
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    Je vous remercie pour l'information , en faite j'avais fait une fausse déclaration au niveau de mon fichier faces-config.xml, maintenant ça marche très bien .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/01/2013, 00h07
  2. Intégration JSF facelet spring-security
    Par rc.dev2009 dans le forum JSF
    Réponses: 3
    Dernier message: 17/08/2011, 15h31
  3. Intégration de JSF 1.2 avec Spring DM
    Par jijaLaClasse dans le forum JSF
    Réponses: 0
    Dernier message: 20/09/2010, 13h34
  4. [Integration] intégration de jasper avec Spring-hiebernate-JSF
    Par majeddammak dans le forum Spring
    Réponses: 0
    Dernier message: 16/09/2009, 13h08
  5. [JSF] intégration jsf avec spring
    Par chris_013 dans le forum Spring Web
    Réponses: 0
    Dernier message: 13/08/2009, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo