title: javax.faces.el.EvaluationException: java.lang.NullPointerException in my jsf web App
body: <p>I am working on a dynamic Web Application and as a first step i want to use my jsf page to save a new Group in the DataBase .I am connecting to an Oracle 10g DataBase, working on eclipse Kepler, with Glassfish4 and using primefaces 4.0.This the StackTrace</p>
  
  <pre><code>                  2013-12-07T00:38:34.028+0100|Avertissement: #{groupeBean.createGroupe}: java.lang.NullPointerException
                   javax.faces.FacesException: #{groupeBean.createGroupe}: java.lang.NullPointerException
  at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
  at javax.faces.component.UICommand.broadcast(UICommand.java:315)
  at javax.faces.component.UIData.broadcast(UIData.java:1108)
  at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
  at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
  at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
  at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
  at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
  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:724)
             Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
  at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
  at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
  ... 35 more
           Caused by: java.lang.NullPointerException
  at com.portail.dao.DaoGroupe.ajouter(DaoGroupe.java:21)
  at com.portail.managedBeans.GroupeBean.createGroupe(GroupeBean.java:24)
  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:606)
  at com.sun.el.parser.AstValue.invoke(AstValue.java:275)
  at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
  at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
  at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
  at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
  at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
  ... 36 more
  </code></pre>
  
  <p>This is the code of the managedBean</p>
  
  <pre><code>                @ManagedBean
                  @ViewScoped
                public class GroupeBean {
                 private Groupe newGroupe=new Groupe();
                  public Groupe getNewGroupe() {
              return newGroupe;
                 }
            public void setNewGroupe(Groupe newGroupe) {
        this.newGroupe = newGroupe;
              }
            private DaoGroupe gdao= new DaoGroupe();
          public void createGroupe()
            {
          gdao.ajouter(newGroupe);
              }}
  </code></pre>
  
  <p>This is the code of the Dao Class</p>
  
  <pre><code>            public class DaoGroupe {
  private static final String JPA_UNIT_NAME="Portail";
  private EntityManager entityManager;
  protected EntityManager getEntityManager() {
      if (entityManager == null) {
          entityManager = Persistence.createEntityManagerFactory(
                  JPA_UNIT_NAME).createEntityManager();
      }
      return entityManager;
  }
   public   void ajouter(Groupe g)
      {
          EntityTransaction tx = entityManager.getTransaction();
          tx.begin();
          entityManager.persist(g);
          tx.commit();}}
  </code></pre>
  
  <p>And this is the insert tab in my jsf page</p>
  
  <pre><code>                  &lt;p:tab title="Groupe"&gt;
              &lt;h:form&gt;
                  &lt;h:panelGrid columns="2"&gt;
                      &lt;h:outputText value="Nom : *" /&gt;
                      &lt;p:inputText value="#{groupeBean.newGroupe.nom}" required="true"
                          label="nomgrp" validatorMessage="Nom de Groupe Obligatoire" /&gt;
                          &lt;h:outputText value="Numéro : *" /&gt;
                      &lt;p:inputText value="#{groupeBean.newGroupe.idGroupe}" required="true"
                          label="numgrp" validatorMessage="Numéro de Groupe Obligatoire" /&gt;
                  &lt;/h:panelGrid&gt;
                  &lt;p:commandButton value="Ajouter"
                      style="width:205px;margin-left:10%"
                      action="#{groupeBean.createGroupe}" /&gt;
              &lt;/h:form&gt;
  
          &lt;/p:tab&gt;   
  </code></pre>