J'ai besoin d'instancier manuellement un ManagedBean en code jsp. J'ai utilisé le code suivant:Problème de création automatique de ManagedBean
FacesContext context = FacesContext.getCurrentInstance();
ActorBean bean = (ActorBean) context.getApplication().createValueBinding("#{actorBean}").getValue(context);
response.getWriter().print(bean.getChaine());
mais je reçois toujours une exception NullPointerException! . :( Toute suggestion s'il vous plaît
C'est le stacktracelog:..
11 juin 2010 12:33:44 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet jsp a généré une exception
java.lang.NullPointerException
at org.apache.jsp.jspx.portal_jsp._jspService(portal_jsp.java:157)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
L'idée principale est de pouvoir communiquer les valeurs JSF aux fonctions javascript. J'utilise un framework AJAX (EXT JS) et j'ai besoin de convertir des données en utilisant json API pour le communiquer dans un composant graphique d'EXTjs. Donc, le problème est .. Je suis coincé avec l'architecture JSF (MVC) et je ne peux pas accéder aux données uniquement via ManagedBeans. Ceci est un exemple de ce que je veux faire: Ext.onReady (function() { Ext.MessageBox.alert ('# {bean.prop}'); }); Mais il est impossible pour javascript d'évaluer les valeurs jsf. C'est possible avec jsp. Ce sera plus compliqué lors de l'utilisation de convertisseurs JSON et ainsi de suite. – Debbech
Vous avez vraiment besoin de faire passer la requête à travers le 'FacesServlet'. Faites-en une page JSF. Ensuite, vous pouvez simplement utiliser ' '. Vous pouvez également passer de JSP à Facelets. Ensuite, vous pouvez utiliser '# {bean.prop}' inline. Voir aussi [Java/JSP/JSF et JavaScript] (http://balusc.blogspot.com/2009/05/javajspjsf-and-javascript.html). –
BalusC
Merci, je reçois l'idée principale, mais je reçois encore var vide du serveur Lorsque je tente de montrer cela: var variableFromServer = ' ' avez-vous idée pourquoi? –
Debbech