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