You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@shale.apache.org by Dominik Böhm <do...@dbedv.de> on 2007/11/04 17:53:49 UTC
Integrating Shale with Ajax4JSF
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
Re: Integrating Shale with Ajax4JSF
Posted by Dominik Böhm <do...@dbedv.de>.
Hi Lionel,
thank you, that did the trick!
Best regards
Dominik
Lionel Port schrieb:
> Try wrapping your ajax code in a "a4j:region" tag.
>
> On Nov 5, 2007 3:53 AM, Dominik Böhm <do...@dbedv.de> 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
>>
>>
>
>
--
Dominik Böhm
Wilhelmstr. 17
48149 Münster
Mobile +49 160 7572316
Phone +49 251 6253968
Fax +49 251 6253969
ICQ 89501619
Re: Integrating Shale with Ajax4JSF
Posted by Lionel Port <li...@portconnection.com>.
Try wrapping your ajax code in a "a4j:region" tag.
On Nov 5, 2007 3:53 AM, Dominik Böhm <do...@dbedv.de> 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
>