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
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
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
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
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
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
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
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
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) |
Partager