2015-11-02 3 views
0

Je souhaite exécuter la démonstration ShowCase de Dialog Framework - Data sur GlassFish 4.1 et NetBeans 8.0.2. Je copie/colle le code de showcase. Mais je rencontrais un NullPointerException sur cette ligne:FacesContext.getCurrentInstance renvoie null dans PrimeFaces Dialog Framework demo

FacesContext.getCurrentInstance().addMessage(null, message); 

Code d'erreur

java.lang.NullPointerException 
    at Beans.DFView.onCarChosen(CalculateBean.java:27) 

Je lis que je dois avoir une autre application de servlet à la communication client, mais je ne peux trouver aucun lien avec tutoriel comment fais le.

Je lis que je dois ajouter ce code à faces-config.xml:

<application> 
    <action-listener>org.primefaces.application.DialogActionListener</action-listener> 
    <navigation-handler>org.primefaces.application.DialogNavigationHandler</navigation-handler> 
    <view-handler>org.primefaces.application.DialogViewHandler</view-handler> 
</application> 

Lien vers poste Natalia Zon: Primefaces JSF null returned from RequestContext.getCurrentInstance() Ici je lis someting À propos du Push Serveur: Developer.am

Répondre

0

Ok pour la première , mon erreur était que mon code était sale, parce que j'ai essayé tant de solutions, développer des applications web vous devez être 2x plus propre que de faire quelque chose sur les applications de bureau, car ce type d'applications est plus sensible.

Aussi, après avoir lu http://balusc.omnifaces.org/2006/06/communication-in-jsf.html#AccessingTheFacesContextInsideHttpServletOrFilter, je vais apprendre la technologie de servlet et essayer de le faire.

PS: La solution était simple, nettoyer votre code, ajoutez à votre visage-config:

<application> 
    <action-listener> 
     org.primefaces.application.DialogActionListener 
    </action-listener> 
    <navigation-handler> 
     org.primefaces.application.DialogNavigationHandler 
    </navigation-handler> 
    <view-handler> 
     org.primefaces.application.DialogViewHandler 
    </view-handler> 
</application> 

et il doit fonctionner. Si ce n'est pas le cas, créez un nouveau projet WebApplication et copiez/collez tout le code de showcase et il doit s'exécuter sinon, relire.