Bonjour chers membres,
je suis en developpement Java EE et j'ai une exception de type java.lang.NullPointerException dons voici:
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)
je constate que la methode getAllmodel() due l'implementation du DAO n'est pas executée.
voici la methode:
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 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
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;
	}
 
 
 
}
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
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);
 
	}
}
enfin la page jsf
<!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>
j'ai deux interfaces,interface DOA et interface service Service que voici
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);
 
 
}
je ne comprends pas ou est que j'ai mal instancié un objet,est ce que quequ'un remarque quelque chose dans ce code?