You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Catherine Rocchio <cr...@gp-informatics.com> on 2011/01/25 23:23:07 UTC

Trinidad 2.0/JSF2.0/Facelets - Issues with ViewHandler I think

Hi there,

We are new to using JSF/Facelets etc (of course!) and we are having a very frustrating problem 
With:  MyFaces 2.0, Trinidad 2.0 Alpha, and Facelets.

Generally, my question is this:
How should the ViewHandler be defined for Facelets to work with Trinidad tags?  An entry in web.xml only?  I see all sorts of conflicting and/or old information out there.  Specifically, SHOULD I define an entry for ALTERNATE_VIEW_HANDLER and what should that be set to?  I don't have a com.sun.facelets library anywhere in my setup.. (should I?  Where should I get that from?) - and I've also seen mention of this class file - org.apache.myfaces.trinidadinternal.facelets.TrinidadFaceletViewHandler - but it doesn't exist either.

Specifically, I have a VERY basic xhtml page set up with some Trinidad tags - and a backing bean.  The same old login page that everyone in the world uses - and I have navigation set to move to another page when I hit at button - and the rules are all defined. 

No matter WHAT I do - I constantly get this error upon hitting any sort of button/widget that implies navigation...
javax.faces.FacesException: java.lang.NullPointerException
	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	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:857)
	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)
Caused by: java.lang.NullPointerException
	at org.apache.myfaces.trinidad.component.UIXComponentBase._getRendererImpl(UIXComponentBase.java:1299)
	at org.apache.myfaces.trinidad.component.UIXComponentBase._cacheRenderer(UIXComponentBase.java:1279)
	at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1193)
	at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:724)
	at org.apache.myfaces.trinidad.component.UIXForm.processDecodes(UIXForm.java:71)
	at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1081)
	at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1067)
	at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:839)
	at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1170)
	at javax.faces.component.UIViewRoot._processDecodesDefault(UIViewRoot.java:1312)
	at javax.faces.component.UIViewRoot.access$400(UIViewRoot.java:75)
	at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1375)
	at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1278)
	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:714)
	at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:34)
	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)


Any hints or thought would be much appreciated.  
Catherine



RE: Trinidad 2.0/JSF2.0/Facelets - Issues with ViewHandler I think

Posted by Catherine Rocchio <cr...@gp-informatics.com>.
Thank you SO MUCH Max.  That was a perfect explanation and completely solved my problem!

-----Original Message-----
From: MAX STARETS [mailto:max.starets@oracle.com] 
Sent: Tuesday, January 25, 2011 5:31 PM
To: MyFaces Discussion
Cc: Catherine Rocchio
Subject: Re: Trinidad 2.0/JSF2.0/Facelets - Issues with ViewHandler I think

Hi Catherine,

You do not need to have an entry for ALTERNATE_VIEW_HANDLER with 
Trinidad 2.0.

You are getting the error because Trinidad is not yet compatible with 
partial state saving in JSF 2.0.
Since partial state saving is enabled by default when Facelets are used, 
you need to explicitly disable it.
Add the following context parameter in web.xml:

<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>

Hope this helps,
Max Starets


On 1/25/2011 5:23 PM, Catherine Rocchio wrote:
> Hi there,
>
> We are new to using JSF/Facelets etc (of course!) and we are having a very frustrating problem
> With:  MyFaces 2.0, Trinidad 2.0 Alpha, and Facelets.
>
> Generally, my question is this:
> How should the ViewHandler be defined for Facelets to work with Trinidad tags?  An entry in web.xml only?  I see all sorts of conflicting and/or old information out there.  Specifically, SHOULD I define an entry for ALTERNATE_VIEW_HANDLER and what should that be set to?  I don't have a com.sun.facelets library anywhere in my setup.. (should I?  Where should I get that from?) - and I've also seen mention of this class file - org.apache.myfaces.trinidadinternal.facelets.TrinidadFaceletViewHandler - but it doesn't exist either.
>
> Specifically, I have a VERY basic xhtml page set up with some Trinidad tags - and a backing bean.  The same old login page that everyone in the world uses - and I have navigation set to move to another page when I hit at button - and the rules are all defined.
>
> No matter WHAT I do - I constantly get this error upon hitting any sort of button/widget that implies navigation...
> javax.faces.FacesException: java.lang.NullPointerException
> 	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
> 	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	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:857)
> 	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)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase._getRendererImpl(UIXComponentBase.java:1299)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase._cacheRenderer(UIXComponentBase.java:1279)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1193)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:724)
> 	at org.apache.myfaces.trinidad.component.UIXForm.processDecodes(UIXForm.java:71)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1081)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1067)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:839)
> 	at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1170)
> 	at javax.faces.component.UIViewRoot._processDecodesDefault(UIViewRoot.java:1312)
> 	at javax.faces.component.UIViewRoot.access$400(UIViewRoot.java:75)
> 	at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1375)
> 	at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1278)
> 	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:714)
> 	at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:34)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
>
>
> Any hints or thought would be much appreciated.
> Catherine
>
>


Re: Trinidad 2.0/JSF2.0/Facelets - Issues with ViewHandler I think

Posted by MAX STARETS <ma...@oracle.com>.
Hi Catherine,

You do not need to have an entry for ALTERNATE_VIEW_HANDLER with 
Trinidad 2.0.

You are getting the error because Trinidad is not yet compatible with 
partial state saving in JSF 2.0.
Since partial state saving is enabled by default when Facelets are used, 
you need to explicitly disable it.
Add the following context parameter in web.xml:

<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>

Hope this helps,
Max Starets


On 1/25/2011 5:23 PM, Catherine Rocchio wrote:
> Hi there,
>
> We are new to using JSF/Facelets etc (of course!) and we are having a very frustrating problem
> With:  MyFaces 2.0, Trinidad 2.0 Alpha, and Facelets.
>
> Generally, my question is this:
> How should the ViewHandler be defined for Facelets to work with Trinidad tags?  An entry in web.xml only?  I see all sorts of conflicting and/or old information out there.  Specifically, SHOULD I define an entry for ALTERNATE_VIEW_HANDLER and what should that be set to?  I don't have a com.sun.facelets library anywhere in my setup.. (should I?  Where should I get that from?) - and I've also seen mention of this class file - org.apache.myfaces.trinidadinternal.facelets.TrinidadFaceletViewHandler - but it doesn't exist either.
>
> Specifically, I have a VERY basic xhtml page set up with some Trinidad tags - and a backing bean.  The same old login page that everyone in the world uses - and I have navigation set to move to another page when I hit at button - and the rules are all defined.
>
> No matter WHAT I do - I constantly get this error upon hitting any sort of button/widget that implies navigation...
> javax.faces.FacesException: java.lang.NullPointerException
> 	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
> 	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	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:857)
> 	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)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase._getRendererImpl(UIXComponentBase.java:1299)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase._cacheRenderer(UIXComponentBase.java:1279)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1193)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:724)
> 	at org.apache.myfaces.trinidad.component.UIXForm.processDecodes(UIXForm.java:71)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1081)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1067)
> 	at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:839)
> 	at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1170)
> 	at javax.faces.component.UIViewRoot._processDecodesDefault(UIViewRoot.java:1312)
> 	at javax.faces.component.UIViewRoot.access$400(UIViewRoot.java:75)
> 	at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1375)
> 	at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1278)
> 	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:714)
> 	at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:34)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
>
>
> Any hints or thought would be much appreciated.
> Catherine
>
>