incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Wessendorf" <mat...@apache.org>
Subject Re: Trinidad + Myfaces 1.1.4 + Facelets 1.1.11 (or Facelets 1.1.6)
Date Thu, 10 Aug 2006 04:35:28 GMT
do you have defined the facelets viewhandler twice?

web.xml
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">

  <!-- Trinidad has its own ViewHandler, which is a "decorating"
       view handler - for example, it needs to wrap methods like renderView()
       to perform some extra pre- and post-handling.  Facelets, on the other
       hand, is more of a true ViewHandler - it actually implements
       renderView() (yeah, it decorates too, but forget about that
       for a second).  As a result, the world is a better place if
       the Trinidad ViewHandler runs around the Facelets ViewHandler.
       But since Facelets is registered in WEB-INF/faces-config.xml,
       and Trinidad's is registered from META-INF/faces-config.xml in its
       JAR, exactly the opposite happens as per the JSF spec.

       Hence, the following config parameter, which Trinidad
       exposes to allow pushing a ViewHandler inside
       of ours.  FWIW, you retain the entire delegation stack -
       just flipped around a bit - so that Facelets still decorates
       the standard ViewHandler, and therefore you've still got
       JSP support.
  -->
  <context-param>
    <param-name>org.apache.myfaces.trinidad.ALTERNATE_VIEW_HANDLER</param-name>
    <param-value>com.sun.facelets.FaceletViewHandler</param-value>
  </context-param>

  <!-- Use Documents Saved as *.xhtml -->
  <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
  </context-param>

   <context-param>
   <param-name>facelets.LIBRARIES</param-name>
   <param-value>/WEB-INF/tomahawk.taglib.xml</param-value>
    </context-param>

  <!-- 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>
	  <filter-name>MyFacesExtensionsFilter</filter-name>
	  <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
      <init-param>
        <param-name>maxFileSize</param-name>
        <param-value>20m</param-value>
      </init-param>
  </filter>

  <filter-mapping>
    <filter-name>trinidad</filter-name>
    <servlet-name>faces</servlet-name>
  </filter-mapping>

  <!-- extension mapping for adding <script/>, <link/>, and other
resource tags to JSF-pages  -->
  <filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <!-- servlet-name must match the name of your
javax.faces.webapp.FacesServlet entry -->
    <servlet-name>faces</servlet-name>
  </filter-mapping>

  <!-- extension mapping for serving page-independent resources
(javascript, stylesheets, images, etc.)  -->
  <filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
  </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.xhtml</welcome-file>
  </welcome-file-list>

</web-app>

facesconfig.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>
    <!-- Use the Trinidad RenderKit -->
    <default-render-kit-id>
      org.apache.myfaces.trinidad.core
    </default-render-kit-id>
  </application>

...
</faces-config>

btw. the code you are using is old :)
I changed that log message on sunday to "RenderingContext" ;)

-Matthias

On 8/9/06, Mikhail Grushinskiy <mgrushinskiy@gmail.com> wrote:
> Now I'm getting facelets exception
>
> No AdfRenderingContext
>
>
> java.lang.IllegalStateException: No AdfRenderingContext
>         at org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderer.encodeBegin(CoreRenderer.java:155)
>         at org.apache.myfaces.trinidadinternal.renderkit.htmlBasic.HtmlFormRenderer.encodeBegin(HtmlFormRenderer.java:54)
>         at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:512)
>         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:232)
>         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
>
>
>
> On 8/10/06, Mikhail Grushinskiy <mgrushinskiy@gmail.com> wrote:
> >
> > Ok, I've passed via this error by adding el-api.jar and el-ri.jar from
> > facelets distro. Thanks
> >
> >
> > On 8/10/06, Matthias Wessendorf < matzew@apache.org> wrote:
> > >
> > > do you have javax.el ?
> > >
> > > ava.lang.NoClassDefFoundError : javax/el/ELException
> > >
> > > when you are using maven, it's easy to add it.
> > >
> > >       <dependency>
> > >         <groupId>javax.el</groupId>
> > >         <artifactId>el-api</artifactId>
> > >         <version> 1.0alpha</version>
> > >       </dependency>
> > >
> > >       <dependency>
> > >         <groupId>javax.el</groupId>
> > >         <artifactId>el-ri</artifactId>
> > >         <version>1.0alpha </version>
> > >       </dependency>
> > >
> > >
> > > On 8/9/06, Mikhail Grushinskiy <mgrushinskiy@gmail.com> wrote:
> > > > Hi,
> > > >
> > > > I can't get this combination to work. Do you have any examples of
> > > working
> > > > configuration with this combo?
> > > > The exception I'm getting:
> > > >
> > > > 23:18:02,906 ERROR [[faces]] Servlet.service() for servlet faces threw
> > > > exception
> > > > java.lang.NoClassDefFoundError: javax/el/ELException
> > > >     at com.sun.facelets.tag.AbstractTagLibrary.addTagHandler(
> > > > AbstractTagLibrary.java:469)
> > > >     at
> > > >
> > > com.sun.facelets.compiler.TagLibraryConfig$TagLibraryImpl.putTagHandler(
> > > > TagLibraryConfig.java :90)
> > > >     at
> > > com.sun.facelets.compiler.TagLibraryConfig$LibraryHandler.endElement(
> > > > TagLibraryConfig.java:200)
> > > >     at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
> > > > Source)
> > > >     at org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope
> > > (Unknown
> > > > Source)
> > > >     at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement
> > > (Unknown
> > > > Source)
> > > >     at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement (Unknown
> > > Source)
> > > >     at
> > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement
> > > (Unknown
> > > > Source)
> > > >     at
> > > >
> > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> > > > Source)
> > > >     at
> > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
> > > (Unknown
> > > > Source)
> > > >     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> > > Source)
> > > >     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> > > Source)
> > > >     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> > > >     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
> > > Source)
> > > >     at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse
> > > (Unknown
> > > > Source)
> > > >     at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
> > > >     at javax.xml.parsers.SAXParser.parse(SAXParser.java :176)
> > > >     at com.sun.facelets.compiler.TagLibraryConfig.create(
> > > > TagLibraryConfig.java:394)
> > > >     at com.sun.facelets.compiler.TagLibraryConfig.loadImplicit(
> > > > TagLibraryConfig.java:418)
> > > >     at com.sun.facelets.compiler.Compiler.initialize(Compiler.java:86)
> > > >     at com.sun.facelets.compiler.Compiler.compile(Compiler.java:103)
> > > >     at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(
> > > > DefaultFaceletFactory.java:192)
> > > >     at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(
> > > > DefaultFaceletFactory.java:141)
> > > >     at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(
> > > > DefaultFaceletFactory.java:93)
> > > >     at com.sun.facelets.FaceletViewHandler.buildView(
> > > FaceletViewHandler.java
> > > > :539)
> > > >     at com.sun.facelets.FaceletViewHandler.renderView(
> > > > FaceletViewHandler.java :589)
> > > >     at org.apache.myfaces.lifecycle.LifecycleImpl.render(
> > > LifecycleImpl.java
> > > > :384)
> > > >     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
> > > >     at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (
> > > > ApplicationFilterChain.java:252)
> > > >     at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > > > ApplicationFilterChain.java:173)
> > > >     at
> > > >
> > > org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter
> > > > (TrinidadFilterImpl.java:320)
> > > >     at
> > > >
> > > org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl
> > > (
> > > > TrinidadFilterImpl.java:289)
> > > >     at
> > > > org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(
> > > > TrinidadFilterImpl.java:213)
> > > >     at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(
> > > > TrinidadFilter.java:90)
> > > >     at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (
> > > > ApplicationFilterChain.java:202)
> > > >     at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > > > ApplicationFilterChain.java:173)
> > > >     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter (
> > > > ReplyHeaderFilter.java:81)
> > > >     at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> > > > ApplicationFilterChain.java:202)
> > > >     at org.apache.catalina.core.ApplicationFilterChain.doFilter (
> > > > ApplicationFilterChain.java:173)
> > > >     at org.apache.catalina.core.StandardWrapperValve.invoke(
> > > > StandardWrapperValve.java:213)
> > > >     at org.apache.catalina.core.StandardContextValve.invoke(
> > > > StandardContextValve.java:178)
> > > >     at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(
> > > > CustomPrincipalValve.java:39)
> > > >     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke (
> > > > SecurityAssociationValve.java:159)
> > > >     at org.jboss.web.tomcat.security.JaccContextValve.invoke(
> > > > JaccContextValve.java:59)
> > > >     at org.apache.catalina.core.StandardHostValve.invoke(
> > > > StandardHostValve.java:126)
> > > >     at org.apache.catalina.valves.ErrorReportValve.invoke(
> > > > ErrorReportValve.java:105)
> > > >     at org.apache.catalina.core.StandardEngineValve.invoke(
> > > > StandardEngineValve.java :107)
> > > >     at org.apache.catalina.connector.CoyoteAdapter.service(
> > > > CoyoteAdapter.java:148)
> > > >     at org.apache.coyote.http11.Http11Processor.process(
> > > Http11Processor.java
> > > > :856)
> > > >     at
> > > >
> > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection
> > > > (Http11Protocol.java:744)
> > > >     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> > > > PoolTcpEndpoint.java :527)
> > > >     at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(
> > > > MasterSlaveWorkerThread.java:112)
> > > >     at java.lang.Thread.run(Thread.java:595)
> > > >
> > > > Thanks,
> > > > --MG
> > > >
> > > >
> > >
> > >
> > > --
> > > Matthias Wessendorf
> > >
> > > further stuff:
> > > blog: http://jroller.com/page/mwessendorf
> > > mail: mwessendorf-at-gmail-dot-com
> > >
> >
> >
>
>


-- 
Matthias Wessendorf

further stuff:
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com

Mime
View raw message