Try wrapping your ajax code in a "a4j:region" tag. On Nov 5, 2007 3:53 AM, Dominik Böhm <[EMAIL PROTECTED]> wrote:
> Hello, > > I tried vainly to use Shale 1.0.4 with Ajax4JSF. When I put some ajax > component onto my page and try to open it, I receive a > NullPointerException: > > javax.servlet.ServletException > javax.faces.webapp.FacesServlet.service(FacesServlet.java:256) > > org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter( > ExtensionsFilter.java:147) > org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) > org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) > > de.uni_muenster.easy.web.filters.SecurityFilter.doFilter( > SecurityFilter.java:48) > > org.apache.shale.application.faces.ShaleApplicationFilter.doFilter( > ShaleApplicationFilter.java:267) > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter( > ReplyHeaderFilter.java:96) > > java.lang.NullPointerException > > org.ajax4jsf.renderkit.AjaxRendererUtils.buildAjaxFunction( > AjaxRendererUtils.java:390) > > org.ajax4jsf.renderkit.html.AjaxFormRenderer.doEncodeBegin( > AjaxFormRenderer.java:131) > org.ajax4jsf.renderkit.RendererBase.encodeBegin(RendererBase.java:101) > > javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java > :788) > javax.faces.component.UIComponent.encodeAll(UIComponent.java:884) > javax.faces.component.UIComponent.encodeAll(UIComponent.java:892) > > com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java > :592) > > org.ajax4jsf.application.ViewHandlerWrapper.renderView( > ViewHandlerWrapper.java:108) > > org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java > :243) > > com.sun.faces.lifecycle.RenderResponsePhase.execute( > RenderResponsePhase.java:106) > com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) > com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) > javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) > > org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter( > ExtensionsFilter.java:147) > org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) > org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) > > de.uni_muenster.easy.web.filters.SecurityFilter.doFilter( > SecurityFilter.java:48) > > org.apache.shale.application.faces.ShaleApplicationFilter.doFilter( > ShaleApplicationFilter.java:267) > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter( > ReplyHeaderFilter.java:96) > > > The reason is that Ajax4JSF relies on the fact that either > facesContext.getViewRoot() is an AjaxViewRoot container or that the > ajaxForm's parent (or grand parent and so on) is an AjaxViewRoot. But > using Shale the facesContext.getViewRoot() is an instance of > ShaleViewRoot (the form's parent is that same ShaleViewRoot object). > > As this issue is not resolved with the latest 1.1.0 SNAPSHOT I would > like to ask you kindly to give full Ajax4JSF support. > > Thank you very much > Dominik >