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 :

Utilisation spring avec jsf


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Par défaut Utilisation spring avec jsf
    Salut,

    J'ai intégré spring et jsf comme indiqué dans la faq.

    Dans le web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <listener>
    	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
     
    <context-param>
    	<param-name>contextConfigLocation</param-name>
    	<param-value>/WEB-INF/applicationContext*.xml</param-value>
    </context-param>
    Dans faces-config.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <application>
    	<variable-resolver>
    		org.springframework.web.jsf.DelegatingVariableResolver
    	</variable-resolver>
    </application>
    Puis dans mon managed-bean :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <managed-property>
    	<property-name>tutu</property-name>
    	<value>#{tutuManager}</value>
    </managed-property>
    Seulement au demarrage du serveur j'ai l'exception suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    org.apache.jasper.JasperException: javax.servlet.jsp.JspException: javax.faces.FacesException: javax.faces.el.EvaluationException: Erreur dans l'expression: Object nommé 'tutuManager' ne peut 'tre trouvé.
    ...
    Or quand j'essaye de recuperer mon bean manuellement le code suivant fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ApplicationContext ctx = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
    ctx.getBean("tutuManager");
    Des idées ?

    J'utilise jsf 1.1, tomcat 5.5, spring 1.2

  2. #2
    Membre éprouvé Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Par défaut
    toujours coincé, personne ne voit?

  3. #3
    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
    Par défaut
    tu ll'a bien déclaré dans l'application context?

  4. #4
    Membre éprouvé Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Par défaut
    Si tu parles de mon tutuManager, j'ai bien dans mon application-context:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <bean id="tutuManager" parent="transactionProxy">
    	<property name="target">
    		<ref bean="tutuManagerTarget"/>
    	</property>
    </bean>
     
    <bean id="tutuManagerTarget" class="package.TutuManagerImpl">
    	<property name="tutuDAO">
    		<ref bean="tutuDAO"/>
    	</property>
    </bean>
    Mais de toute manière, s'il n'était pas correctement déclaré le code suivant ne fonctionnerait pas non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ApplicationContext ctx = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
    ctx.getBean("tutuManager");

  5. #5
    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
    Par défaut
    le code de ta jsp qui génère l'exception?

  6. #6
    Membre éprouvé Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Par défaut
    ça plante dans ma JSP à chaque fois que j'essaye d'accéder à une propriété de mon managed-bean depuis mon formulaire, donc dès qu'il y a du code du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:form id="form_tutu" enctype="multipart/form-data">
             <h:inputTextarea rows="4" cols="23" id="nom" value="#{tutuBean.nom}"/>
    </h:form>
    Dans faces-config le bean est déclaré de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <managed-bean>
    	<managed-bean-name>tutuBean</managed-bean-name>
    	<managed-bean-class>package.TutuBean</managed-bean-class>
    	<managed-bean-scope>request</managed-bean-scope>
    	<managed-property>
    		<property-name>tutuManager</property-name>
    		<value>#{tutuManager}</value>
    	</managed-property>
    </managed-bean>

Discussions similaires

  1. [Framework] Spring avec JSF et Hibernate
    Par wajdopovitch dans le forum Spring
    Réponses: 0
    Dernier message: 11/12/2009, 12h49
  2. Implémentation Spring Avec JSF-Hibernate
    Par wajdopovitch dans le forum Spring
    Réponses: 2
    Dernier message: 04/04/2009, 21h40
  3. Utiliser RichFaces avec JSF 1.2
    Par Dimitri_87 dans le forum JSF
    Réponses: 3
    Dernier message: 02/04/2008, 17h07
  4. utiliser JasperReports avec JSF
    Par Javix dans le forum JSF
    Réponses: 15
    Dernier message: 30/11/2007, 22h20
  5. Utiliser Spring avec EJB
    Par rOmAle dans le forum Spring
    Réponses: 5
    Dernier message: 03/04/2007, 17h30

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