Partage
  • Partager sur Facebook
  • Partager sur Twitter

Java.lang NullPointerException jsf

    7 novembre 2015 à 18:54:17

    Bonsoir,

    je suis debutant en jsf et depuis ce matin j'ai cette erreur quand je veux faire une mise a jour que je n'arrive pas a resoudre: java.lang NullPointerException

    Voici mon code

    @ManagedBean
    @SessionScoped
    public class EditerBean implements Serializable{
    @EJB
    	private VehiculeDao vehiculeDao;
    private Vehicule vehiculeChoisi;
    private Vehicule editVehicule;
    
    public void modifierVehicule(){
    		try {
    			DateTime d= new DateTime(editDateVeh);
    			editVehicule.setDateAcquisition(d);
    			editVehicule.setFournisseur(fournisseurDao.trouver(fournisseurId));
    			editVehicule.setEnergie(energieDao.trouver(energieId));
    			editVehicule.setMarque(marqueDao.trouver(marqueId));
    			editVehicule.setModele(modeleDao.trouver(modeleId));
    			editVehicule.setEtat(etatVehiculeDao.trouver(etatId));
    			editVehicule.setService(serviceDao.trouver(serviceId));
    			vehiculeDao.updateVehicule(editVehicule);
    			vehicules= vehiculeDao.listeVehicule();
    			FacesMessage msg= new FacesMessage("Modification réussie!");
    			FacesContext.getCurrentInstance().addMessage(null, msg);
    			
    		} catch (Exception e) {
    			FacesMessage msg= new FacesMessage("Modification échouée!");
    			FacesContext.getCurrentInstance().addMessage(null, msg);
    			
    		}
    	}
    
    
    public Vehicule getVehiculeChoisi(){
    		return vehiculeChoisi;
    	}
    	public void setVehiculeChoisi(Vehicule veh){
    		this.vehiculeChoisi=veh;
    	}
    
    public Vehicule geteditVehicule(){
    		if(editVehicule==null){
    			editVehicule= new Vehicule();
    		}
    		editVehicule= (Vehicule)vehiculeDao.rechercherVehicule(vehiculeChoisi.getImmatriculation());
    		return editVehicule;
    	}
    	public void seteditVehicule(Vehicule veh){
    		this.editVehicule=veh;
    	}
    
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:p="http://primefaces.org/ui"
          xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
      <title><ui:insert name="title">Default title</ui:insert></title>
      <h:outputStylesheet library="default" name="css/style.css"/>
      
      <style type="text/css">
                .ui-widget {
                    font-size: 90%;
                }
              
    			</style>
    </h:head>
    
    <h:body>
    
    <p:layout fullPage="true">
    <p:layoutUnit  position="north" size="100" styleClass="zz"> 
                    <!-- <h:graphicImage url="/tema/imagens/topo.jpg" />-->  
     	<!--  <p:menubar styleClass="t1" style="height: 28px;">
     	<p:menuitem>
     	<div style="font-size: 25px;width: 500px;">AGESPAAS</div>
     	</p:menuitem>
        </p:menubar>-->
        <div style="font-size: 40px;width: 1270px; text-align: center;font-variant: small-caps;">AGESPAAS</div>
        <ui:include src="/inc/menu.xhtml"/>
    </p:layoutUnit>
    
    
    <div id="menu_gauche" class="ui-layout-unit-titlebar">
    <p:layoutUnit position="west" header="ACCES RAPIDE" size="220" style="text-align: center;color: orange; background-color: #fffafa ;">
        <ui:include src="/inc/menu_gauche_vehicule.xhtml"/>
    </p:layoutUnit>
    </div>
    
    
    
    <p:layoutUnit id="centerLayout" position="center" >
    		 <h:form id="form" >
    		<p:growl id="growl" sticky="false" autoUpdate="true" showDetail="false" life="3000"/>
    		<p:panel header="VEHICULES" style="text-align: center; background-color: #FEF3FF;">
    		<p:dataTable id="datatable" var="vehicule" emptyMessage="Aucun résultat" value="#{vehiculeBean.vehicules}"  rows="10" paginator="true" 
                             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                             rowsPerPageTemplate="5,10,15" rowKey="#{vehicule.immatriculation}" selection="#{vehiculeBean.vehiculeChoisi}" selectionMode="single">
    			<p:column headerText="Immatriculation" filterBy="#{vehicule.immatriculation}" filterMatchMode="exact" >
    				<h:outputText value="#{vehicule.immatriculation}"/>
    			</p:column>
    			<p:column headerText="Nombre de place">
    				<h:outputText value="#{vehicule.nbrePlace}"/>
    			</p:column>
    			<p:column headerText="Puissance">
    				<h:outputText value="#{vehicule.puissance}"/>
    			</p:column>
    			<p:column headerText="coût d'acquisition">
    				<h:outputText value="#{vehicule.coutAcquisition}"/>
    			</p:column>
    			<p:column headerText="date d'acquisition">
    				<h:outputText value="#{vehicule.dateAcquisition.toDate()}">
    				<f:convertDateTime pattern="dd/MM/yyyy" />
    				</h:outputText>
    			</p:column>
    			<p:column headerText="Service Utilisateur">
    				<h:outputText value="#{vehicule.service.description}"/>
    			</p:column>
    			<p:column headerText="Etat du véhicule">
    				<h:outputText value="#{vehicule.etat.description}"/>
    			</p:column>
    			<f:facet name="footer">
    			<!-- Pour la redirection outcome="ajouter" -->
    			<p:commandButton value = "Ajouter"  onclick="PF('ajoutVar').show();" icon="ui-icon-plus"/>	
    			<p:commandButton value="Détails"  actionListener="#{vehiculeBean.detailForm}" icon="ui-icon-plus" />
    			<p:commandButton value = "Modifier"  onclick="PF('editVar').show()" icon="ui-icon-plus" />
    			<p:commandButton value="Supprimer" action="#{vehiculeBean.supprimer}" update=":form:growl  :form:datatable"  icon="ui-icon-trash" />
    		 </f:facet>
    		</p:dataTable>
    		</p:panel>
    		</h:form>
    </p:layoutUnit>
    
    <p:layoutUnit position="south" size="70">
      <ui:insert name="pied">
      </ui:insert>
    </p:layoutUnit>
    <p:dialog header="AJOUTER VEHICULE" widgetVar="ajoutVar" modal="true">
    			<ui:include src="ajoutVehicule.xhtml"/>
    </p:dialog>
    <p:dialog header="MODIFIER VEHICULE" widgetVar="editVar" modal="true">
    			<ui:include src="editVehicule.xhtml"/>
    </p:dialog>
    </p:layout>
    
    </h:body>
    </html>



    voici le code erreur

    javax.el.ELException: /editVehicule.xhtml @35,117 value="#{editerBean.editVehicule.immatriculation}": java.lang.NullPointerException
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
    	at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
    	at javax.faces.component.UIInput.getValue(UIInput.java:291)
    	at org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:77)
    	at org.primefaces.component.inputtext.InputTextRenderer.encodeMarkup(InputTextRenderer.java:71)
    	at org.primefaces.component.inputtext.InputTextRenderer.encodeEnd(InputTextRenderer.java:52)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
    	at org.primefaces.component.panelgrid.PanelGridRenderer.encodeDynamicBody(PanelGridRenderer.java:127)
    	at org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableBody(PanelGridRenderer.java:98)
    	at org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableLayout(PanelGridRenderer.java:65)
    	at org.primefaces.component.panelgrid.PanelGridRenderer.encodeEnd(PanelGridRenderer.java:37)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
    	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:83)
    	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:66)
    	at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:206)
    	at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:123)
    	at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    	at org.primefaces.component.wizard.WizardRenderer.encodeCurrentStep(WizardRenderer.java:173)
    	at org.primefaces.component.wizard.WizardRenderer.encodeContent(WizardRenderer.java:202)
    	at org.primefaces.component.wizard.WizardRenderer.encodeMarkup(WizardRenderer.java:158)
    	at org.primefaces.component.wizard.WizardRenderer.encodeEnd(WizardRenderer.java:62)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
    	at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:894)
    	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:79)
    	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:66)
    	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:81)
    	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:66)
    	at org.primefaces.component.dialog.DialogRenderer.encodeContent(DialogRenderer.java:180)
    	at org.primefaces.component.dialog.DialogRenderer.encodeMarkup(DialogRenderer.java:109)
    	at org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:47)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:443)
    	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
    	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
    	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
    	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
    	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
    	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
    	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
    	at java.lang.Thread.run(Thread.java:722)
    Caused by: javax.el.ELException: java.lang.NullPointerException
    	at javax.el.BeanELResolver.getValue(BeanELResolver.java:368)
    	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    	at com.sun.el.parser.AstValue.getValue(AstValue.java:140)
    	at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
    	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
    	at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    	... 77 more
    Caused by: java.lang.NullPointerException
    	at parc_auto.bean.EditerBean.geteditVehicule(EditerBean.java:291)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:601)
    	at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
    	... 84 more

    svp aidez pour resoudre ce probleme. Merci!!!



    -
    Edité par JonathanKini 7 novembre 2015 à 19:02:21

    • Partager sur Facebook
    • Partager sur Twitter
      7 novembre 2015 à 22:55:03

      Salut JonathanKini,

      L'erreur est indiquée à la première ligne de l'exception:

      javax.el.ELException: /editVehicule.xhtml @35,117 value="#{editerBean.editVehicule.immatriculation}": java.lang.NullPointerException

      La méthode getEditVehicule() renvoie null, étant donné que tu initialises le véhicule dans ton getter, je suppose que c'est la méthode rechercherVehicule() de la DAO qui ne renvoit aucun résultat.

      Je ne vois cependant pas l'expression #{editerBean.editVehicule.immatriculation} dans la page que tu affiches, c'est peut être dans le composant que tu inclues à la ligne 36 menu_gauche_vehicule.xhtml

      -
      Edité par Hadriel 7 novembre 2015 à 22:55:39

      • Partager sur Facebook
      • Partager sur Twitter

      Java.lang NullPointerException jsf

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown