Exception "java.lang.NullPointerException"
MayaInfo
-
yassine -
yassine -
Bonjour,
Je suis entrain de développez une application en JEE sous Hibernate , Spring , JSF primefaces mais lors de l'exécution j'obtient l'exception suivante:
Voici le code de ma classe News.java :
voici le code de la page News.jsp :
Et finalement, voici le code de la classe NewsService :
Est ce que vous avez une idée à me proposer pour résoudre ce problème ?
N.B: c'est ma première application avec Hibernate Spring et JSF et pour la réaliser je me suis basée sur le tutoriel suivant : http://vimeo.com/15705668
Je suis entrain de développez une application en JEE sous Hibernate , Spring , JSF primefaces mais lors de l'exécution j'obtient l'exception suivante:
GRAVE: "Servlet.service()" pour la servlet jsp a lancé une exception
java.lang.NullPointerException
at ma.it.bean.NewsBean.init(NewsBean.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:297)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:250)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:144)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1329)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:302)
at org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
at org.springframework.web.context.request.SessionScope.get(SessionScope.java:90)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881)
at org.springframework.beans.factory.access.el.SpringBeanELResolver.getValue(SpringBeanELResolver.java:58)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:58)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:69)
at org.apache.el.parser.AstValue.getValue(AstValue.java:112)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:198)
at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:215)
at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:454)
at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:635)
at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1033)
at org.apache.jsp.Views.News_jsp._jspx_meth_p_005fdataTable_005f0(News_jsp.java:210)
at org.apache.jsp.Views.News_jsp._jspx_meth_h_005fform_005f0(News_jsp.java:170)
at org.apache.jsp.Views.News_jsp._jspx_meth_f_005fview_005f0(News_jsp.java:125)
at org.apache.jsp.Views.News_jsp._jspService(News_jsp.java:88)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
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:127)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
9 mai 2012 16:17:00 com.sun.faces.lifecycle.LifecycleImpl phase
ATTENTION: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@1bef4c6) threw exception
javax.faces.FacesException: org.apache.jasper.JasperException: An exception occurred processing JSP page /Views/News.jsp at line 15
12: <body>
13: <f:view>
14: <h:form prependId="false">
15: <p:dataTable id="basic" var="News" binding="#{NewsBean.newsTable}"
16: value="#{NewsBean.newsList}">
17: <p:column id="modelHeader">
18: <f:facet name="idNews">
Stacktrace:
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:419)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
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:127)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /Views/News.jsp at line 15
12: <body>
13: <f:view>
14: <h:form prependId="false">
15: <p:dataTable id="basic" var="News" binding="#{NewsBean.newsTable}"
16: value="#{NewsBean.newsList}">
17: <p:column id="modelHeader">
18: <f:facet name="idNews">
Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
... 18 more
Caused by: javax.faces.FacesException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NewsBean': Invocation of init method failed; nested exception is java.lang.NullPointerException
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:209)
at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:215)
at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:454)
at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:635)
at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1033)
at org.apache.jsp.Views.News_jsp._jspx_meth_p_005fdataTable_005f0(News_jsp.java:210)
at org.apache.jsp.Views.News_jsp._jspx_meth_h_005fform_005f0(News_jsp.java:170)
at org.apache.jsp.Views.News_jsp._jspx_meth_f_005fview_005f0(News_jsp.java:125)
at org.apache.jsp.Views.News_jsp._jspService(News_jsp.java:88)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
... 28 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NewsBean': Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:147)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1329)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:302)
at org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
at org.springframework.web.context.request.SessionScope.get(SessionScope.java:90)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881)
at org.springframework.beans.factory.access.el.SpringBeanELResolver.getValue(SpringBeanELResolver.java:58)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:58)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:69)
at org.apache.el.parser.AstValue.getValue(AstValue.java:112)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:198)
... 39 more
Caused by: java.lang.NullPointerException
at ma.it.bean.NewsBean.init(NewsBean.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:297)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:250)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:144)
... 60 more
9 mai 2012 16:17:00 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception
java.lang.NullPointerException
at ma.it.bean.NewsBean.init(NewsBean.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:297)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:250)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:144)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1329)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:302)
at org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
at org.springframework.web.context.request.SessionScope.get(SessionScope.java:90)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881)
at org.springframework.beans.factory.access.el.SpringBeanELResolver.getValue(SpringBeanELResolver.java:58)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:58)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:69)
at org.apache.el.parser.AstValue.getValue(AstValue.java:112)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:198)
at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:215)
at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:454)
at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:635)
at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1033)
at org.apache.jsp.Views.News_jsp._jspx_meth_p_005fdataTable_005f0(News_jsp.java:210)
at org.apache.jsp.Views.News_jsp._jspx_meth_h_005fform_005f0(News_jsp.java:170)
at org.apache.jsp.Views.News_jsp._jspx_meth_f_005fview_005f0(News_jsp.java:125)
at org.apache.jsp.Views.News_jsp._jspService(News_jsp.java:88)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
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:127)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Voici le code de ma classe News.java :
package ma.it.bean;
import java.io.*;
import java.util.List;
import javax.annotation.PostConstruct;
import ma.it.service.NewsService;
import ma.it.model.News;
import org.primefaces.component.datatable.DataTable;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@Component("NewsBean")
@Scope("session")
public class NewsBean implements Serializable{
private transient NewsService newsService;
private transient DataTable NewsTable;
private List<News> NewsList;
@PostConstruct
public void init() {
this.NewsList=this.newsService.findAll();
}
public DataTable getNewsTable() {
return NewsTable;
}
public void setNewsTable(DataTable newsTable) {
this.NewsTable = newsTable;
}
public List<News> getNewsList() {
return NewsList;
}
public void setNewsList(List<News> newsList) {
this.NewsList = newsList;
}
}
voici le code de la page News.jsp :
<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://primefaces.prime.com.tr/ui" prefix="p"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
<h:form prependId="false">
<p:dataTable id="basic" var="News" binding="#{NewsBean.newsTable}"
value="#{NewsBean.newsList}">
<p:column id="modelHeader">
<f:facet name="idNews">
idNews
</f:facet>
<h:outputText value="#{News.idNews}" />
</p:column>
<p:column>
<f:facet name="titre">
Titre
</f:facet>
<h:outputText value="#{News.titre}" />
</p:column>
</p:dataTable>
</h:form>
</f:view>
</body>
</html>
Et finalement, voici le code de la classe NewsService :
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
package ma.it.service;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import ma.it.model.News;
@Service("NewsService")
@Transactional
public class NewsService {
@Autowired
private SessionFactory sessionFactory;
@SuppressWarnings("unchecked")
public List<News> findAll()// throws Exception
{
return sessionFactory.getCurrentSession().createQuery("from ma.it.model.News").list();
}
public News findById(Integer id)
{
return (News) sessionFactory.getCurrentSession().get(News.class,id);
}
public void save(News n)
{
sessionFactory.getCurrentSession().saveOrUpdate(n);
}
}
Est ce que vous avez une idée à me proposer pour résoudre ce problème ?
N.B: c'est ma première application avec Hibernate Spring et JSF et pour la réaliser je me suis basée sur le tutoriel suivant : http://vimeo.com/15705668
A voir également:
- Request processing failed; nested exception is java.lang.nullpointerexception
- What is my movie français - Télécharger - Divers TV & Vidéo
- Who is on my wifi - Télécharger - Outils Internet
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- Where is it - Télécharger - Gestion de fichiers
- Bad request your browser sent a request that this server could not understand. size of a request header field exceeds server limit. - Forum Réseaux sociaux
3 réponses
Merci de votre réponse , j'ai essayé votre code mais ça n'a pas marché ,
juste pour information , concernant la fonction findAll() je l'avais déjà tester avec JUnit et elle retourne des informations de la base ded données et elle l'affiche
juste pour information , concernant la fonction findAll() je l'avais déjà tester avec JUnit et elle retourne des informations de la base ded données et elle l'affiche
KX
Messages postés
19031
Statut
Modérateur
3 020
ça n'a pas marché, mais est-ce que l'erreur est la même ?
Il va falloir apprendre à lire un message d'exception, et en particulier à trier l'information utile de tout ce qui est superflu, voici en gros les seules lignes utiles :
La ligne 25 étant ici :
Pour avoir un NullPointerException soit this vaut null (normalement ce n'est jamais le cas), soit c'est donc this.newsService qui vaut null !
Je te propose ce code en remplacement :
Si ça ne résout pas ton problème tu devrais à mon avis vérifier ta méthode findAll...
GRAVE: "Servlet.service()" pour la servlet jsp a lancé une exception
java.lang.NullPointerException
at ma.it.bean.NewsBean.init(NewsBean.java:25)
9 mai 2012 16:17:00 com.sun.faces.lifecycle.LifecycleImpl phase
ATTENTION: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@1bef4c6) threw exception
javax.faces.FacesException: org.apache.jasper.JasperException: An exception occurred processing JSP page /Views/News.jsp at line 15
Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /Views/News.jsp at line 15
12: <body>
13: <f:view>
14: <h:form prependId="false">
15: <p:dataTable id="basic" var="News" binding="#{NewsBean.newsTable}"
16: value="#{NewsBean.newsList}">
17: <p:column id="modelHeader">
18: <f:facet name="idNews">
Caused by: javax.faces.FacesException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NewsBean': Invocation of init method failed; nested exception is java.lang.NullPointerException
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NewsBean': Invocation of init method failed; nested exception is java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at ma.it.bean.NewsBean.init(NewsBean.java:25)
9 mai 2012 16:17:00 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception
java.lang.NullPointerException
at ma.it.bean.NewsBean.init(NewsBean.java:25)
La ligne 25 étant ici :
public void init() {
this.NewsList=this.newsService.findAll();
}
Pour avoir un NullPointerException soit this vaut null (normalement ce n'est jamais le cas), soit c'est donc this.newsService qui vaut null !
Je te propose ce code en remplacement :
public void init()
{
if (newsService==null)
NewsList = new ListNews();
else
NewsList = newsService.findAll();
}
Si ça ne résout pas ton problème tu devrais à mon avis vérifier ta méthode findAll...