[jboss-user] [JBoss Seam] - Can't make my themes work
pdpantages
do-not-reply at jboss.com
Sun Jan 28 15:10:11 EST 2007
Hello forum,
seam 1.1.0.GA
jboss-4.0.5.GA
ajax4jsf-1.0.5
Facelets
I am trying to add themes to my seam-app & have been
getting the "Cannot get value for expression
'#{org.jboss.seam.theme.theme}'" exception, caused by an NPE at
ThemeSelector:63
I copied the setup from the 1.1.0.GA blog example.
I.e., In components.xml I have
| <component name="themeSelector">
| <property name="availableThemes">
| <value>default</value>
| <value>ie_default</value>
| </property>
| <property name="cookieEnabled">true</property>
| </component>
|
I put the property files in WEB-INF/classes
In the .war file, the theme files packaged WEB-INF/classes
eg: WEB-INF/classes/default.properties
etc...
These locations match what I see in the blog's war file.
I am not setting the default theme anywhere; I am assuming that the
first one in the component list will become default? I reference the
theme like so on my page:
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
| <html xmlns="http://www.w3.org/1999/xhtml"
| xmlns:ui="http://java.sun.com/jsf/facelets"
| xmlns:s="http://jboss.com/products/seam/taglib"
| xmlns:f="http://java.sun.com/jsf/core"
| xmlns:h="http://java.sun.com/jsf/html"
| xml:lang="en"
| lang="en">
|
| <head>
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
| <title>Login</title>
| <link href="#{theme.css}" rel="stylesheet" type="text/css" />
| </head>
|
Exception:
| I have javax.el.ELException: /view/home.xhtml: Cannot get value for expression '#{org.jboss.seam.theme.theme}'
| at com.sun.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:53)
| at com.sun.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:39)
| at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:232)
| at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:580)
| at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:101)
| at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:222)
| 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.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
| 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:96)
| 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.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| 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:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| 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)
| Caused by: javax.faces.el.EvaluationException: Exception getting value of property theme of base of type : org.jboss.seam.Namespace
| at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:96)
| at org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(ELParserHelper.java:532)
| at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
| at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:383)
| at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:51)
| at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1666)
| at org.jboss.seam.Component.getInstance(Component.java:1615)
| at org.jboss.seam.Component.getInstance(Component.java:1592)
| at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:46)
| at org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVariableResolverInChain.java:42)
| at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:134)
| at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:65)
| at com.sun.el.parser.AstValue.getValue(AstValue.java:106)
| at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
| at com.sun.facelets.el.ELText$ELTextVariable.toString(ELText.java:174)
| at com.sun.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:49)
| ... 41 more
| Caused by: java.lang.NullPointerException
| at org.jboss.seam.theme.ThemeSelector.initDefaultTheme(ThemeSelector.java:63)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:102)
| at org.jboss.seam.Component.callComponentMethod(Component.java:1791)
| at org.jboss.seam.Component.callCreateMethod(Component.java:1739)
| at org.jboss.seam.Component.newInstance(Component.java:1728)
| at org.jboss.seam.Component.getInstance(Component.java:1625)
| at org.jboss.seam.Component.getInstance(Component.java:1604)
| at org.jboss.seam.Component.getInstance(Component.java:1581)
| at org.jboss.seam.Component.getInstance(Component.java:1576)
| at org.jboss.seam.theme.ThemeSelector.instance(ThemeSelector.java:142)
| at org.jboss.seam.theme.Theme.init(Theme.java:38)
| at org.jboss.seam.theme.Theme.getTheme(Theme.java:104)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:102)
| at org.jboss.seam.Component.callComponentMethod(Component.java:1791)
| at org.jboss.seam.Component.unwrap(Component.java:1817)
| at org.jboss.seam.Component.getInstance(Component.java:1639)
| at org.jboss.seam.Component.getInstance(Component.java:1592)
| at org.jboss.seam.Namespace.get(Namespace.java:42)
| at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:78)
| ... 56 more
|
|
Am I missing something obvious?
PdP
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4007533#4007533
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4007533
More information about the jboss-user
mailing list