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

Spring Web Java Discussion :

Intégration avec JSF [JSF]


Sujet :

Spring Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Rizzen
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 115
    Par défaut Intégration avec JSF
    Bonjour

    Je me bas depuis aujourd'hui sur une application spring jsf, j'ai suivit le tuto (spring, hibernate, tapersty) pour la partie hibernate/spring. Si j'ai bien compris au vue de ma console Tomcat, cette partie la devrait fonctionner car je vois apparaitre mes beans spring dans la console

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@16d8196: defining beans [logManagerTarget,logManager,logDao,sessionFactory,transactionManager,transactionProxy]; root of factory hierarchy
    Maintenant j'essaie d'appeller mon service depuis un bean jsf pour charger une liste de données et les affichers mais pas moyen d'accéder aux services. J'ai déclarer le listener el dans le faceConfig pour avoir accés au bean spring depuis jsf mais rien n'y fais. Je serais trés reconnaissant si vous aviez une piste ou même la solution à mon problème.


    facesconfig.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
    <?xml version="1.0" encoding="UTF-8"?>
    <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xi="http://www.w3.org/2001/XInclude"
     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">
     <managed-bean>
      <managed-bean-name>parAnomalieBeans</managed-bean-name>
      <managed-bean-class>com.rejetParebrise.ihm.bean.ParAnomalieBeans</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
      <managed-property>
       <property-name>logManager</property-name>
       <value>#{logManager}</value>
      </managed-property>
     </managed-bean>
     <application>
      <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
     </application>
    </faces-config>
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?xml version="1.0"?>
    <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">
    	<display-name>RejetParebrise</display-name>
    	<context-param>
    		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    		<param-value>server</param-value>
    	</context-param>
    	<listener>
    		<listener-class>
    			com.sun.faces.config.ConfigureListener
    		</listener-class>
    	</listener>
    	<!-- Faces Servlet -->
    	<servlet>
    		<servlet-name>Faces Servlet</servlet-name>
    		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<!-- Faces Servlet Mapping -->
    	<servlet-mapping>
    		<servlet-name>Faces Servlet</servlet-name>
    		<url-pattern>*.jsf</url-pattern>
    	</servlet-mapping>
    	<login-config>
    		<auth-method>BASIC</auth-method>
    	</login-config>
     
    	<!--  Spring config -->
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>
    			/WEB-INF/ApplicationContext.xml
    			/WEB-INF/ApplicationContextDao.xml
    		</param-value>
    	</context-param>
     
    	<listener>
    		<listener-class>
    			org.springframework.web.context.ContextLoaderListener
    		</listener-class>
    	</listener>
    	<listener>
    		<listener-class>
    			org.springframework.web.context.request.RequestContextListener
    		</listener-class>
    	</listener>
    </web-app>
    ParAnomalieBean.java
    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
    package com.rejetParebrise.ihm.bean;
     
    import java.util.Set;
     
    import com.rejetParebrise.dto.AnomalieDTO;
    import com.rejetParebrise.service.LogManager;
     
    public class ParAnomalieBeans {
    	private Set<AnomalieDTO> maListe = null;
    	private LogManager logManager;
     
    	public ParAnomalieBeans() {
    		super();
    		System.out.println("************************* test **************************");
    		maListe = logManager.getAnomalies();
    	}
     
    	public Set<AnomalieDTO> getMaListe() {
    		return maListe;
    	}
     
    	public void setMaListe(Set<AnomalieDTO> maListe) {
    		this.maListe = maListe;
    	}
     
    	public LogManager getLogManager() {
    		return logManager;
    	}
     
    	public void setLogManager(LogManager logManager) {
    		this.logManager = logManager;
    	}
    }
    LogManageImpl.java
    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
    package com.rejetParebrise.service.impl;
     
    import java.util.Set;
     
    import com.rejetParebrise.domain.dao.LogDao;
    import com.rejetParebrise.dto.AnomalieDTO;
    import com.rejetParebrise.service.LogManager;
     
    public class LogManagerImpl implements LogManager {
    	private LogDao logDao = null;
     
    	  /**
         * {@inheritDoc}
         */
    	public Set<AnomalieDTO> getAnomalies() {
    		System.out.println("************************* test2 **************************");
    		return logDao.getListAnomalie();
    	}
     
    	public LogDao getLogDao() {
    		return logDao;
    	}
     
    	public void setLogDao(LogDao logDao) {
    		this.logDao = logDao;
    	}
     
     
    }
    ApplicationContext.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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
     
    <beans>
    	<bean id="logManagerTarget" class="com.rejetParebrise.service.impl.LogManagerImpl">
    		<property name="logDao">
    			<ref bean="logDao" />
    		</property>
    	</bean>
     
    	<bean id="logManager" parent="transactionProxy">
    		<property name="target">
    			<ref bean="logManagerTarget"/>
    		</property>
    		<property name="transactionAttributeSource">
    			<bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
    		</property>
    	</bean>
     
    </beans>
    ApplicationContextDao.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
    40
    41
    42
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
     
    <!-- Application context DAO layer -->
     
    <beans>
    	<!-- General  -->
    	<bean id="logDao" class="com.rejetParebrise.domain.dao.hibernate3.LogDaoImpl">
    		<property name="sessionFactory">
    			<ref bean="sessionFactory" />
    		</property>
    	</bean>
     
    	<!-- sessionFactory  -->
    	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    		<property name="configLocation">
    			<value>classpath:hibernate.cfg.xml</value>
    		</property>
    		<property  name="configurationClass">
      			 <value>org.hibernate.cfg.AnnotationConfiguration</value>
    		</property>
    	</bean>
     
    	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    		<property name="sessionFactory" ref="sessionFactory"/>
    	</bean>
    	<bean id="transactionProxy" abstract="true"
    		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    		<property name="transactionManager">
    			<ref bean="transactionManager"/>
    		</property>
    		<property name="transactionAttributes">
    			<props>
    				<prop key="insert*">PROPAGATION_REQUIRED</prop>
    				<prop key="update*">PROPAGATION_REQUIRED</prop>
    				<prop key="save*">PROPAGATION_REQUIRED</prop>
    				<prop key="*">PROPAGATION_REQUIRED, readOnly</prop>
    			</props>
    		</property>
    	</bean>
     
    </beans>
    message d'erreur

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    04-08-2008 19:02:13:245 17841 DEBUG org.ajax4jsf.event.AjaxPhaseListener  - Process before phase RESTORE_VIEW 1
    04-08-2008 19:02:13:245 17841 DEBUG org.ajax4jsf.event.AjaxPhaseListener  - Process after phase RESTORE_VIEW 1
    04-08-2008 19:02:13:245 17841 DEBUG org.ajax4jsf.event.AjaxPhaseListener  - Process before phase RENDER_RESPONSE 6
    04-08-2008 19:02:13:245 17841 DEBUG org.ajax4jsf.event.AjaxPhaseListener  - PhaseListener enter Before RenderView Phase with ViewId /pages/rejetAnomalies.jsp and RenderKitId HTML_BASIC
    04-08-2008 19:02:13:370 17966 DEBUG org.ajax4jsf.renderkit.RendererBase  - Start encoding of component j_id_jsp_1023262491_0 with class org.ajax4jsf.component.AjaxViewRoot
    ************************* test **************************
    4 août 2008 19:02:13 com.sun.faces.lifecycle.Phase doPhase
    GRAVE: JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /pages/rejetAnomalies.jsp) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@90ed81]
    04-08-2008 19:02:13:402 17998 DEBUG org.ajax4jsf.event.AjaxPhaseListener  - Process after phase RENDER_RESPONSE 6
    4 août 2008 19:02:13 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet Faces Servlet a g�n�r� une exception
    java.lang.NullPointerException
    	at com.rejetParebrise.ihm.bean.ParAnomalieBeans.<init>(ParAnomalieBeans.java:15)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at java.lang.Class.newInstance0(Unknown Source)
    	at java.lang.Class.newInstance(Unknown Source)
    	at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:188)
    	at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:105)
    	at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:369)
    	at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:230)
    	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:88)
    	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
    	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:73)
    	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61)
    	at org.apache.el.parser.AstValue.getValue(AstValue.java:107)
    	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
    	at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
    	at javax.faces.component.UIData.getValue(UIData.java:608)
    	at javax.faces.component.UIData.getDataModel(UIData.java:1112)
    	at javax.faces.component.UIData.setRowIndex(UIData.java:450)
    	at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:77)
    	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:802)
    	at javax.faces.component.UIData.encodeBegin(UIData.java:950)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:934)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
    	at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:273)
    	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:204)
    	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
    	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Unknown Source)

  2. #2
    Membre confirmé Avatar de Rizzen
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 115
    Par défaut
    Solution : ne pas utiliser de service dans le constructeur du bean JSF

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

Discussions similaires

  1. [AJAX] intégration ajax4jsf-1.1.1 avec jsf 1.1
    Par aminoa dans le forum AJAX
    Réponses: 2
    Dernier message: 21/09/2009, 09h31
  2. Intégration RichFaces avec JSF
    Par demanghonj dans le forum JSF
    Réponses: 11
    Dernier message: 24/04/2009, 11h20
  3. intégration de jsf avec hibernate
    Par delivrance84 dans le forum JSF
    Réponses: 1
    Dernier message: 20/07/2008, 21h23

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