Hello, I'm just starting with trinidad and I try to get the trinidad blank example up and running as eclipse (Galileo) dynamic web project with JSF 1.2 and tomcat 6. But unfortunately it fails. Can someone give me a hint which part of the configuration I have to check / correct?
There is something in the config I don't understand. In the faces-config.xml is an application section which references to org.apache.myfaces.trinidad.core default-render-kit-id. But in the trinidad libs I can't find a package or class with this name and in the config files there is also no reference to an object with this name. Is this maybe the reason? Thanks and best regards Michael java.lang.NullPointerException at org.apache.myfaces.trinidadinternal.ui.RootRenderingContext.getRendererManager(RootRenderingContext.java:193) at org.apache.myfaces.trinidadinternal.uinode.UIXComponentUINode.getRenderer(UIXComponentUINode.java:379) at org.apache.myfaces.trinidadinternal.uinode.UIXComponentUINode.renderInternal(UIXComponentUINode.java:166) at org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase.encodeEnd(UINodeRendererBase.java:70) at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:794) at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70) at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:410) at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:69) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:142) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:151) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:78) at org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:446) at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer.encodeAll(DocumentRenderer.java:80) at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335) at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:794) at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1544) at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:814) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:257) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.actuallyRenderView(JspViewHandlerImpl.java:427) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:383) at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:48) at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:182) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 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:852) 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(Thread.java:619) faces-config.xml <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd" > <faces-config> <application> <default-render-kit-id> org.apache.myfaces.trinidad.core </default-render-kit-id> </application> <!-- Global preferences object that proxies to others --> <managed-bean> <managed-bean-name>helloWorldBacking</managed-bean-name> <managed-bean-class> org.apache.myfaces.trinidad.blank.HelloWorldBacking </managed-bean-class> <managed-bean-scope> request </managed-bean-scope> </managed-bean> <!-- navigation rules for index.jspx --> <navigation-rule> <from-view-id>/page1.jspx</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/page2.jspx</to-view-id> </navigation-case> </navigation-rule> <!-- navigation rules for page2.jspx --> <navigation-rule> <from-view-id>/page2.jspx</from-view-id> <navigation-case> <from-outcome>back</from-outcome> <to-view-id>/page1.jspx</to-view-id> </navigation-case> </navigation-rule> </faces-config> web.xml: <?xml version = '1.0' encoding = 'ISO-8859-1'?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- Use client-side state saving. In Trinidad, it is an optimized, token-based mechanism that is almost always a better choice than the standard JSF server-side state saving. --> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> <!--param-value>server</param-value--> </context-param> <!-- Trinidad by default uses an optimized client-side state saving mechanism. To disable that, uncomment the following --> <!--context-param> <param-name>org.apache.myfaces.trinidad.CLIENT_STATE_METHOD</param-name> <param-value>all</param-value> </context-param--> <!-- Trinidad also supports an optimized strategy for caching some view state at an application level, which significantly improves scalability. However, it makes it harder to develop (updates to pages will not be noticed until the server is restarted), and in some rare cases cannot be used for some pages (see Trinidad documentation for more information) --> <context-param> <param-name>org.apache.myfaces.trinidad.USE_APPLICATION_VIEW_CACHE</param-name> <param-value>false</param-value> </context-param> <!-- If this parameter is enabled, Trinidad will automatically check the modification date of your JSPs, and discard saved state when they change; this makes development easier, but adds overhead that should be avoided when your application is deployed --> <context-param> <param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name> <param-value>true</param-value> </context-param> <!-- Enables Change Persistence at a session scope. By default, Change Persistence is entirely disabled. The ChangeManager is an API, which can persist component modifications (like, is a showDetail or tree expanded or collapsed). For providing a custom Change Persistence implementation inherit from the Trinidad API's ChangeManager class. As the value you have to use the fullqualified class name. --> <context-param> <param-name>org.apache.myfaces.trinidad.CHANGE_PERSISTENCE</param-name> <param-value>session</param-value> </context-param> <filter> <filter-name>trinidad</filter-name> <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class> </filter> <filter-mapping> <filter-name>trinidad</filter-name> <servlet-name>faces</servlet-name> </filter-mapping> <!-- Faces Servlet --> <servlet> <servlet-name>faces</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> </servlet> <!-- resource loader servlet --> <servlet> <servlet-name>resources</servlet-name> <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class> </servlet> <!-- Faces Servlet Mappings --> <servlet-mapping> <servlet-name>faces</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>/adf/*</url-pattern> </servlet-mapping> <!-- Welcome Files --> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> available libs: -rw-r--r-- 1 root root 188671 Oct 5 2009 commons-beanutils-1.7.0.jar -rw-r--r-- 1 root root 46725 Oct 5 2009 commons-codec-1.3.jar -rw-r--r-- 1 root root 571259 Oct 5 2009 commons-collections-3.2.jar -rw-r--r-- 1 root root 143602 Oct 5 2009 commons-digester-1.8.jar -rw-r--r-- 1 root root 76685 Oct 5 2009 commons-discovery-0.4.jar -rw-r--r-- 1 root root 60686 Oct 5 2009 commons-logging-1.1.1.jar -rw-r--r-- 1 root root 487044 Apr 16 08:28 jstl-1.2-sources.jar -rw-r--r-- 1 root root 414240 Apr 16 08:28 jstl-1.2.jar -rw-r--r-- 1 root root 378921 Nov 17 04:44 myfaces-api-1.2.8.jar -rw-r--r-- 1 root root 801254 Nov 17 04:43 myfaces-impl-1.2.8.jar -rw-r--r-- 1 root root 1269169 Jan 23 13:31 trinidad-api-1.2.13.jar -rw-r--r-- 1 root root 4358928 Jan 23 13:35 trinidad-impl-1.2.13.jar