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
>

Reply via email to