Bonjour chers membres,
je suis en developpement Java EE et j'ai une exception de type java.lang.NullPointerException dons voici:
je constate que la methode getAllmodel() due l'implementation du DAO n'est pas executée.
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
59 java.lang.NullPointerException at project.service.ModelServiceImpl.getAllmodel(ModelServiceImpl.java:30) at project.beans.ModelBean.getAllmodel(ModelBean.java:35) 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 javax.el.BeanELResolver.getValue(BeanELResolver.java:302) at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) at org.apache.el.parser.AstValue.getValue(AstValue.java:169) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) at javax.faces.component.UIData.getValue(UIData.java:731) at org.primefaces.component.datatable.DataTable.getValue(DataTable.java:867) at org.primefaces.component.api.UIData.getDataModel(UIData.java:579) at javax.faces.component.UIData.getRowCount(UIData.java:356) at org.primefaces.component.api.UIData.calculateFirst(UIData.java:157) at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:176) at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:82) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764) at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:59) at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:47) at org.primefaces.extensions.component.layout.LayoutPaneRenderer.encodeBegin(LayoutPaneRenderer.java:148) at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820) at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:56) at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:47) at org.primefaces.extensions.component.layout.LayoutPaneRenderer.encodeBegin(LayoutPaneRenderer.java:152) at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1755) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1757) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) 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:368) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) at java.lang.Thread.run(Unknown Source)
voici la methode:le bean est:
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 package project.metier.dao; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.stereotype.Repository; import project.metier.mouse.Model; import project.metier.mouse.Vehicule; import project.util.HibernateUtil; @Repository("iModelHome") public class ModelImpl implements IModelHome{ @Override public void addModel(Model mod) { Session session=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); session.save(mod); session.getTransaction().commit(); } /*public List<Model> getAllmodel() { Session session=HibernateUtil.getSessionFactory().openSession(); //Transaction transaction = session.beginTransaction(); try{ session.getTransaction().begin(); Query req=session.createQuery("select r from Model r"); return (req.list()); } catch (RuntimeException e) { session.getTransaction().rollback(); throw e; } }*/ @Override public Model getById(int idc) { Session session=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Model tt=(Model) session.get(Model.class, idc); return tt; } @Override public List<Model> getByMarque(String mc) { Session session=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Query req=session.createQuery("select con from Model con where con.marque like :x"); req.setParameter("x","%"+mc+"%"); return req.list(); } @Override public Model getByType(Model m) { Session session=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Model mod=(Model) session.get(Model.class, m); return mod; } @Override public void editBon(Model model, int idModel) { // TODO Auto-generated method stub } @Override public List<Model> getAllmodel() { Session session=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Query req=session.createQuery("select m from Model m"); return req.list(); } }le service:
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 package project.beans; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import project.metier.mouse.Model; import project.service.ModelService; @Component @Scope public class ModelBean { private Model model; private ModelService modelService; public ModelBean() { // TODO Auto-generated constructor stub model= new Model(); } public Model getModel() { return model; } public void setModel(Model model) { this.model = model; } public List<Model> getAllmodel(){ return modelService.getAllmodel(); } public void addModel(){ modelService.addModel(model); } @Autowired public void setModelService(ModelService modelService) { this.modelService = modelService; } }
enfin la page jsf
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 package project.service; import java.util.List; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import project.metier.dao.IModelHome; import project.metier.mouse.Model; @Service @Transactional public class ModelServiceImpl implements ModelService { private IModelHome iModelHome; public void setiModelHome(IModelHome iModelHome) { this.iModelHome = iModelHome; } @Override public void addModel(Model mod) { iModelHome.addModel(mod); } @Override public List<Model> getAllmodel(){ // TODO Auto-generated method stub return iModelHome.getAllmodel(); } @Override public Model getById(int idc) { // TODO Auto-generated method stub return iModelHome.getById(idc); } @Override public List<Model> getByMarque(String mc) { // TODO Auto-generated method stub return iModelHome.getByMarque(mc); } @Override public Model getByType(Model m) { // TODO Auto-generated method stub return iModelHome.getByType(m); } public void editBon(Model model,int idModel){ iModelHome.editBon(model,idModel); } }
j'ai deux interfaces,interface DOA et interface service Service que voici<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="/Views/Template/common.xhtml">
<ui:define name="Edition">
</ui:define>
<ui:define name="Consultation">
<p:dialog header="Ajout d'un model" widgetVar="modelAjout" resizable="true" id="editM" >
<p:growl id="growl" showDetail="true" sticky="false" />
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<f:facet name="header">
<h:outputLabel value="bonjour"/>
</f:facet>
<h:outputLabel for="id" title="id" value="id:" style="color: crimson;" />
<h:inputText value="#{modelBean.model.idModel}" id="id" required="true" visible="false"/>
<h:outputLabel for="marque" value="Marque:" style="color: crimson;"/>
<h:inputText value="#{modelBean.model.marque}" id="marque" required="true"/>
<h:outputLabel for="type" title="type" value="Type:" style="color: crimson;"/>
<h:inputText value="#{modelBean.model.type}" id="type" required="true"/>
</h:panelGrid>
<p:separator/>
<p:commandButton value="Enregistrer" action="#{modelBean.addModel}" />
</p:dialog>
<h:form id="tbb">
<p:outputPanel>
<h:outputText value="Search:" style="Height:30px"/>
<p:inputText id="globalFilter" onkeyup="TypeCarburant.filter()" style="width:150px" />
</p:outputPanel>
<h:form id="AjoutM">
<p:commandButton value="Ajouter un model Vehicule" icon="ui-icon-adds" onclick="modelAjout.show()"/>
</h:form>
<p:dataTable id="dataTable" var="model" value="#{modelBean.allmodel}" sortMode="single" rows="5" paginator="true" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,15,25">
<p:column sortBy="#{model.idModel}" headerText="ID" >
<h:outputText value="#{model.idModel}" />
</p:column>
<p:column sortBy="#{model.marque}" headerText="Marque">
<h:outputText value="#{model.marque}" />
</p:column>
<p:column sortBy="#{model.type}" headerText="Model:">
<h:outputText value="#{model.type}" />
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
</html>
je ne comprends pas ou est que j'ai mal instancié un objet,est ce que quequ'un remarque quelque chose dans ce code?
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 project.service; import java.util.List; import project.metier.mouse.Model; public interface ModelService { public void addModel(Model mod); public List<Model> getAllmodel(); public Model getById(int idc); public List<Model> getByMarque(String mc); public Model getByType(Model m); } //et l'interface du DAo ModelHome package project.metier.dao; import java.util.List; import project.metier.mouse.Model; public interface IModelHome { public void addModel(Model mod); public List<Model> getAllmodel(); public Model getById(int idc); public List<Model> getByMarque(String mc); public Model getByType(Model m); public void editBon(Model model, int idModel); }
Partager