Results 1 to 6 of 6

Thread: desperate : help required with webflow/faces and grails 2.0.3

  1. #1
    Join Date
    Apr 2012
    Posts
    22

    Default desperate : help required with webflow/faces and grails 2.0.3

    folks desperate for some help

    i'm a closet grails user - and i was trying to get JSF working with grails. the JSF2 plugin doesnt work at all under 2.0

    tried a different tack and built myself a plugin and tried to use mojarra, and cut and pasted webflow 2.3.1. sample stuff into my plugin

    this fails completely in embedded tomcat 7 dev mode see this posted on grails forum
    http://grails.1312388.n4.nabble.com/...td4568248.html

    i get an error like this

    Code:
    | Error 2012-04-18 17:02:39,390 [pool-6-thread-1] ERROR [localhost].[/aGflow]  - StandardWrapper.Throwable
    java.lang.IllegalStateException: Could not find backup for factory javax.faces.context.FacesContextFactory.
            at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1008)
            at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
            at javax.faces.webapp.FacesServlet.init(FacesServlet.java:302)
    ...
    however when i generate a seperate WAR built in grails and deploy to tomcat 7 my static and facelet page renders of (saw something about problems with mojarra outsid of a WAR)

    so in desperation i tried MyFaces instead and got further - but still doesnt work

    so here goes. In my buildConfig i have this

    Code:
       repositories {
            grailsCentral()
            mavenRepo "http://tomcat.apache.org/dev/dist/m2-repository"
            // uncomment the below to enable remote dependency resolution
            // from public Maven repositories
            //mavenCentral()
            //mavenLocal()
            //mavenRepo "http://snapshots.repository.codehaus.org"
            //mavenRepo "http://repository.codehaus.org"
            //mavenRepo "http://download.java.net/maven/2/"
            //mavenRepo "http://repository.jboss.com/maven2/"
        }
        dependencies {
            // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
    
            // runtime 'mysql:mysql-connector-java:5.1.5'
    		compile 'org.springframework.webflow:spring-webflow:2.3.1.RELEASE',
    			'org.springframework.webflow:spring-faces:2.3.1.RELEASE',
    			//'org.springframework.security:spring-security-core:3.1.0.RELEASE',
    			'org.springframework:spring-webmvc:3.1.1.RELEASE',
    			'org.apache.myfaces.core:myfaces-api:2.1.7',
    			'org.apache.myfaces.core:myfaces-impl:2.1.7'
    
        }
    in my doWithWebDescriptor closure in the plugin i add the webflow/faces bits into the web.xml as per the 2.3.1 documentation

    Code:
    	static def  doWithWebDescriptor (def xml)
    	{
    
    		/** 
    		 * Spring web root context 
    		 */
    		def envParams = xml.'context-param'[0]
    		/* grails already sets this for us 
    		envParams + {
    		  
    			'context-param' {
    			  'param-name'('contextConfigLocation')
    			  'param-value'('/WEB-INF/applicationContext.xml')
    			}
    		} */
    		
    		def listenersList = xml.'listener'
    		def listeners = listenersList[listenersList.size() - 1]
    
    		
    		listeners + {
    			  listener {
    				'listener-class'('org.apache.myfaces.webapp.StartupServletContextListener')
    			  }
    		  } 
    
    		/**
    		 * JSF2 Implementation
    		 * 
    		 */
    		envParams + {
    			
    			  'context-param' {
    				'param-name'('javax.faces.DEFAULT_SUFFIX')
    				'param-value'('.xhtml')
    			  }
    			  'context-param' {
    				'param-name'('javax.faces.PROJECT_STAGE')
    				'param-value'('Development')
    			  }
    			  'context-param' {
    				'param-name'('javax.faces.FACELETS_REFRESH_PERIOD')
    				'param-value'('1')
    			  }
    		  }
      
    		println "add faces servlet"
    		def servletsList = xml.servlet
    		def servlets = servletsList[servletsList.size() -1]
    
    		// load the Faces servlet
    		servlets + {
    			servlet {
    			  'servlet-name'('Faces Servlet')
    			  'servlet-class'('javax.faces.webapp.FacesServlet')
    			  'load-on-startup'('1')
    			}
    		}
    
    		def mappingsList = xml.'servlet-mapping'
    		def mappings = mappingsList[mappingsList.size() - 1]
    			mappings + {
    				  'servlet-mapping' {
    					'servlet-name'('Faces Servlet')
    					'url-pattern'('*.faces')
    				  }
    			  }
    	
    		/**
    		* MVC Implementation
    		*
    		*/
    			println "add MVC servlet"
    			servletsList = xml.servlet
    			servlets = servletsList[servletsList.size() -1]
    	
    			// load the Faces servlet
    			servlets + {
    				servlet {
    					'servlet-name' ('springmvc')
    					'servlet-class' ( 'org.springframework.web.servlet.DispatcherServlet')
    					'init-param' {
    						'param-name' ('contextConfigLocation' )
    						'param-value' ('/WEB-INF/spring/appServlet/servlet-context.xml' )
    					}
    				'load-on-statup' ('1')
    				}
    			}
    	
    			mappingsList = xml.'servlet-mapping'
    			mappings = mappingsList[mappingsList.size() - 1]
    				mappings + {
    						'servlet-mapping' {
    						'servlet-name'('springmvc')
    						'url-pattern'('/app/*')
    					  }
    				  }
    	
    		println "final web.xml config looks like :"
    		println renderFormattedXML (xml)
    		return xml
    	}
    If i run this in standalone tomcat it works and my /app/home facelets page is rendered

    if i run this in embedded tomcat mode it fails

    details in reply post below - the first time i posted this said it was too long - so here goes for part 2

  2. #2
    Join Date
    Apr 2012
    Posts
    22

    Default

    ok part 2 .

    here is my generated web.xml

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" metadata-complete="true" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
        <display-name>/aflowPlugin-development-null</display-name>
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext.xml</param-value>
        </context-param>
      <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
      </context-param>
      <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
      </context-param>
      <context-param>
        <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
        <param-value>1</param-value>
      </context-param>
        <context-param>
            <param-name>webAppRootKey</param-name>
            <param-value>aflowPlugin-development-null</param-value>
        </context-param>
        <filter>
            <filter-name>sitemesh</filter-name>
            <filter-class>org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter</filter-class>
        </filter>
        <filter>
            <filter-name>charEncodingFilter</filter-name>
            <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
            <init-param>
                <param-name>targetBeanName</param-name>
                <param-value>characterEncodingFilter</param-value>
            </init-param>
            <init-param>
                <param-name>targetFilterLifecycle</param-name>
                <param-value>true</param-value>
            </init-param>
        </filter>
      <filter>
        <filter-name>urlMapping</filter-name>
        <filter-class>org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter</filter-class>
      </filter>
      <filter>
        <filter-name>hiddenHttpMethod</filter-name>
        <filter-class>org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter</filter-class>
      </filter>
      <filter>
        <filter-name>grailsWebRequest</filter-name>
        <filter-class>org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter</filter-class>
      </filter>
        <filter-mapping>
            <filter-name>charEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
      <filter-mapping>
        <filter-name>hiddenHttpMethod</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>
      </filter-mapping>
      <filter-mapping>
        <filter-name>grailsWebRequest</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>ERROR</dispatcher>
      </filter-mapping>
        <filter-mapping>
            <filter-name>sitemesh</filter-name>
            <url-pattern>/*</url-pattern>
            <dispatcher>REQUEST</dispatcher>
            <dispatcher>ERROR</dispatcher>
        </filter-mapping>
      <filter-mapping>
        <filter-name>urlMapping</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>
      </filter-mapping>
      <listener>
        <listener-class>org.codehaus.groovy.grails.plugins.log4j.web.util.Log4jConfigListener</listener-class>
      </listener>
        <listener>
            <listener-class>org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener</listener-class>
        </listener>
      <listener>
        <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
      </listener>
      <servlet>
        <servlet-name>H2Console</servlet-name>
        <servlet-class>org.h2.server.web.WebServlet</servlet-class>
        <init-param>
          <param-name>-webAllowOthers</param-name>
          <param-value>true</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>H2Console</servlet-name>
        <url-pattern>/dbconsole/*</url-pattern>
      </servlet-mapping>
        <!-- Grails dispatcher servlet -->
        <servlet>
            <servlet-name>grails</servlet-name>
            <servlet-class>org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
            <async-supported>true</async-supported>
        </servlet>
        <!-- The Groovy Server Pages servlet -->
        <servlet>
            <servlet-name>gsp</servlet-name>
            <servlet-class>org.codehaus.groovy.grails.web.pages.GroovyPagesServlet</servlet-class>
        <init-param>
          <description>
                    Allows developers to view the intermediate source code, when they pass
                    a spillGroovy argument in the URL.
                    </description>
          <param-name>showSource</param-name>
          <param-value>1</param-value>
        </init-param>
        </servlet>
      <servlet>
        <servlet-name>grails-errorhandler</servlet-name>
        <servlet-class>org.codehaus.groovy.grails.web.servlet.ErrorHandlingServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
        </init-param>
        <load-on-statup>1</load-on-statup>
      </servlet>
        <servlet-mapping>
            <servlet-name>gsp</servlet-name>
            <url-pattern>*.gsp</url-pattern>
        </servlet-mapping>
      <servlet-mapping>
        <servlet-name>grails-errorhandler</servlet-name>
        <url-pattern>/grails-errorhandler</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>grails</servlet-name>
        <url-pattern>*.dispatch</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/app/*</url-pattern>
      </servlet-mapping>
        <welcome-file-list>
            <!--
            The order of the welcome pages is important.  JBoss deployment will
            break if index.gsp is first in the list.
            -->
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>index.gsp</welcome-file>
        </welcome-file-list>
      <error-page>
        <error-code>500</error-code>
        <location>/grails-errorhandler</location>
      </error-page>
        <jsp-config>
            <taglib>
                <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
                <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
            </taglib>
            <taglib>
                <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
                <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
            </taglib>
            <taglib>
                <taglib-uri>http://www.springframework.org/tags</taglib-uri>
                <taglib-location>/WEB-INF/tld/spring.tld</taglib-location>
            </taglib>
            <taglib>
                <taglib-uri>http://grails.codehaus.org/tags</taglib-uri>
                <taglib-location>/WEB-INF/tld/grails.tld</taglib-location>
            </taglib>
        </jsp-config>
    </web-app>

  3. #3
    Join Date
    Apr 2012
    Posts
    22

    Default part 3 of the errors

    in embedded mode, if i do a run-app - i get a bunch or INFO warnings like this


    Code:
    21-Apr-2012 19:26:05 org.apache.myfaces.config.DefaultFacesConfigurationProvider getStandardFacesConfig
    INFO: Reading standard config META-INF/standard-faces-config.xml
    21-Apr-2012 19:26:05 org.apache.myfaces.config.DefaultFacesConfigurationProvider getWebAppFacesConfig
    INFO: Reading config /WEB-INF/faces-config.xml
    21-Apr-2012 19:26:05 org.apache.myfaces.config.DefaultFacesConfigurationProvider getClassloaderFacesConfig
    INFO: Reading config : jar:file:/C:/Users/802518659/.grails/ivy-cache/org.springframework.webflow/spring-faces/jars/spring-faces-2.3.1.RELEASE.jar!/META-INF/faces-config.xml
    21-Apr-2012 19:26:05 org.apache.myfaces.config.LogMetaInfUtils logArtifact
    INFO: Artifact 'myfaces-api' was found in version '2.1.7' from path 'file:/C:/Users/802518659/.grails/ivy-cache/org.apache.myfaces.core/myfaces-api/jars/myfaces-api-2.1.7.jar'
    21-Apr-2012 19:26:05 org.apache.myfaces.config.LogMetaInfUtils logArtifact
    INFO: Artifact 'myfaces-impl' was found in version '2.1.7' from path 'file:/C:/Users/802518659/.grails/ivy-cache/org.apache.myfaces.core/myfaces-impl/jars/myfaces-impl-2.1.7.jar'
    21-Apr-2012 19:26:05 org.apache.myfaces.util.ExternalSpecifications isBeanValidationAvailable
    INFO: MyFaces Bean Validation support enabled
    21-Apr-2012 19:26:05 org.apache.myfaces.config.FacesConfigurator handleSerialFactory
    INFO: Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
    21-Apr-2012 19:26:05 org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory getLifecycleProvider
    INFO: Using LifecycleProvider org.apache.myfaces.config.annotation.Tomcat7AnnotationLifecycleProvider
    21-Apr-2012 19:26:05 org.apache.myfaces.webapp.AbstractFacesInitializer initFaces
    INFO: ServletContext initialized.
    21-Apr-2012 19:26:05 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    INFO: Tomahawk jar not available. Autoscrolling, DetectJavascript, AddResourceClass and CheckExtensionsFilter are disabled now.
    21-Apr-2012 19:26:05 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    INFO: Scanning for context init parameters not defined. It is not necessary to define them all into your web.xml, they are just provided here for informative purposes. To disable this messages set org.apache.myfaces.LOG_WEB_CONTEXT_PARAMS config param to 'false'
    21-Apr-2012 19:26:06 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    INFO: No context init parameter 'javax.faces.RESOURCE_EXCLUDES' found, using default value '.class .jsp .jspx .properties .xhtml .groovy'.
    21-Apr-2012 19:26:06 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    ...elided middle bits
    
    21-Apr-2012 19:26:06 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    INFO: No context init parameter 'org.apache.myfaces.EXPRESSION_FACTORY' found.
    21-Apr-2012 19:26:06 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    INFO: No context init parameter 'org.apache.myfaces.INITIALIZE_ALWAYS_STANDALONE' found, using default value 'false'.
    21-Apr-2012 19:26:06 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    INFO: No context init parameter 'org.apache.myfaces.LOG_WEB_CONTEXT_PARAMS' found, using default value 'auto'.
    21-Apr-2012 19:26:06 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    INFO: No context init parameter 'org.apache.myfaces.FACES_INITIALIZER' found.
    21-Apr-2012 19:26:06 org.apache.myfaces.webapp.WebConfigParamsLogger logWebContextParams
    INFO: No context init parameter 'org.apache.myfaces.FACES_INIT_PLUGINS' found.
    21-Apr-2012 19:26:06 org.apache.myfaces.webapp.AbstractFacesInitializer initFaces
    WARNING: 
    
    *******************************************************************
    
    *** WARNING: Apache MyFaces-2 is running in DEVELOPMENT mode.   ***
    
    ***                                         ^^^^^^^^^^^         ***
    
    *** Do NOT deploy to your live server(s) without changing this. ***
    
    *** See Application#getProjectStage() for more information.     ***
    
    *******************************************************************
    but the servers starts and will serve a standard gsp file <plugin>/index.gsp

  4. #4
    Join Date
    Apr 2012
    Posts
    22

    Default

    the if i access my facelet on /app/home i get this

    Code:
     Line | Method
    ->> 1455 | initializeBean     in org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    |   386 | initializeBean     in     ''
    |   442 | applyLifecycleMethods in org.springframework.web.servlet.view.UrlBasedViewResolver
    |   437 | loadView           in     ''
    |   186 | createView . . . . in org.springframework.web.servlet.view.AbstractCachingViewResolver
    |   401 | createView         in org.springframework.web.servlet.view.UrlBasedViewResolver
    |   103 | resolveViewName .  in org.springframework.web.servlet.view.AbstractCachingViewResolver
    |   1211 | resolveViewName    in org.springframework.web.servlet.DispatcherServlet
    |   1160 | render . . . . . . in     ''
    |   950 | doDispatch         in     ''
    |   852 | doService . . . .  in     ''
    |   882 | processRequest     in org.springframework.web.servlet.FrameworkServlet
    |   778 | doGet . . . . . .  in     ''
    |   621 | service            in javax.servlet.http.HttpServlet
    ....
    
    |   364 | processFilterChain in org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter
    |   231 | doFilterInternal . in     ''
    |    76 | doFilter           in org.springframework.web.filter.OncePerRequestFilter
    |   243 | internalDoFilter . in org.apache.catalina.core.ApplicationFilterChain
    |   210 | doFilter           in     ''
    ....
    
    |    69 | doFilterInternal . in org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter
    |    76 | doFilter           in org.springframework.web.filter.OncePerRequestFilter
    |   243 | internalDoFilter . in org.apache.catalina.core.ApplicationFilterChain
    |   210 | doFilter           in     ''
    
    Caused by IllegalStateException: No Factories configured for this Application. This happens if the faces-initialization does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions!
    If you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files and a context listener is not setup in your web.xml.
    A typical config looks like this;
    <listener>
      <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
    </listener>
    
    ->> 286 | _getFactory        in javax.faces.FactoryFinder
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    |   206 | getFactory         in     ''
    |   108 | createFacesLifecycle in org.springframework.faces.mvc.JsfView
    |    53 | afterPropertiesSet in     ''
    |   1514 | invokeInitMethods  in org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
    |   1452 | initializeBean     in     ''
    |   386 | initializeBean . . in     ''
    |   442 | applyLifecycleMethods in org.springframework.web.servlet.view.UrlBasedViewResolver
    |   437 | loadView . . . . . in     ''
    |   186 | createView         in org.springframework.web.servlet.view.AbstractCachingViewResolver
    |   401 | createView . . . . in org.springframework.web.servlet.view.UrlBasedViewResolver
    |   103 | resolveViewName    in org.springframework.web.servlet.view.AbstractCachingViewResolver
    |   1211 | resolveViewName .  in org.springframework.web.servlet.DispatcherServlet
    |   1160 | render             in     ''
    |   950 | doDispatch . . . . in     ''
    ...

  5. #5
    Join Date
    Apr 2012
    Posts
    22

    Default and last note to problem

    and in my console i get a last issue that looks like this
    Code:
    ..
    Caused by: java.lang.UnsupportedOperationException: unable to watch ___LineNumberPlaceholder. Computed location=\groovy\script
    	at com.springsource.loaded.agent.SpringLoadedPreProcessor.getWatchPathFromProtectionDomain(SpringLoadedPreProcessor.java:425)
    	at com.springsource.loaded.agent.SpringLoadedPreProcessor.preProcess(SpringLoadedPreProcessor.java:161)
    	at com.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:89)
    	... 69 more

    I dont want to have to give up dev mode working in STS and have to export to WAR all the time. What is going on and how can i fix it

    really appreciate some fresh eyes and some help on this its driving my barmy

    yours in advance

  6. #6
    Join Date
    Apr 2012
    Posts
    22

    Default

    I think its something to do with grails run-app and its packaging - as well as doing stuff in your workspace under STS something happens round the back of the file system in C:\Users\802518659\.grails\2.0.3\projects\aflowMyf acesPlugin


    so run i try and do a run app - it creates a web.xml.tmp file

    this a web.xml formatted file - but if you look at it doesnt have the additions i have written through the doWithXMLDescriptor closure in the plugin descriptor file

    where are is if you generaate a war with run-war - it builds an 'xml' file the war.web-inf directory and this does have additions included .

    so when your then deploy that war on tomcat externally which i did it kind of works - at least it serves my /app/home facelet page

    whereas if i do a run-war in embedded working as opposed to run-app i get an error like this

    Code:
    WARNING: No mappings of FacesServlet found. Abort initializing MyFaces.
    | Error 2012-04-21 22:40:12,486 [pool-6-thread-1] ERROR [localhost].[/aflowMyfacesPlugin]  - StandardWrapper.Throwable
    java.lang.IllegalStateException: No Factories configured for this Application. This happens if the faces-initialization does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions!
    If you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files and a context listener is not setup in your web.xml.
    A typical config looks like this;
    <listener>
      <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
    </listener>
    	at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:286)
    	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:206)
    	at javax.faces.webapp.
    ...
    would be intereted is anyone know what this is doing - i'll post back over at the grails forum also

    WIll

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •