dev@jsftemplating.java.net

SyntaxException in parsing

From: Anissa Lam <Anissa.Lam_at_Sun.COM>
Date: Fri, 03 Nov 2006 15:37:14 -0800

Hi,
I am getting a parsing error when testing a condition using if() handler.
 
 *if ( !** #{flag}){ doSomething() }
*
is fine.

But if i do not have the '!', i get an exception.
 * if ( #{flag}){ doSomething() }
*
Here is the exception i got, and i have attached the .jsf file. Did i
do something illegal ? or is this a bug in jsftemplating ? I also
attached the test.jsf i ave.

thanks
Anissa.

[#|2006-11-03T15:27:57.728-0800|SEVERE|sun-appserver-ee9.1|javax.enterprise.system.container.web|_ThreadID=13;_ThreadName=httpWorkerThread-8080-0;_RequestID=90a839d0-b762-40eb-9e8f-6af0041804bd;|StandardWrapperValve[FacesServlet]:
PWC1406: Servlet.service() for servlet FacesServlet threw exception
com.sun.jsftemplating.layout.SyntaxException: Encountered unmatched '}'
when parsing handlers for 'command' event.
        at
com.sun.jsftemplating.layout.template.TemplateReader$EventParserCommand.process(TemplateReader.java:762)
        at
com.sun.jsftemplating.layout.template.BaseProcessingContext.beginSpecial(BaseProcessingContext.java:122)
        at
com.sun.jsftemplating.layout.template.TemplateReader$LayoutComponentContext.beginSpecial(TemplateReader.java:723)
        at
com.sun.jsftemplating.layout.template.TemplateReader.process(TemplateReader.java:262)
        at
com.sun.jsftemplating.layout.template.BaseProcessingContext.beginComponent(BaseProcessingContext.java:82)
        at
com.sun.jsftemplating.layout.template.TemplateReader.process(TemplateReader.java:268)
        at
com.sun.jsftemplating.layout.template.BaseProcessingContext.beginComponent(BaseProcessingContext.java:82)
        at
com.sun.jsftemplating.layout.template.TemplateReader.process(TemplateReader.java:268)
        at
com.sun.jsftemplating.layout.template.TemplateReader.readLayoutDefinition(TemplateReader.java:156)
        at
com.sun.jsftemplating.layout.template.TemplateReader.read(TemplateReader.java:114)
        at
com.sun.jsftemplating.layout.template.TemplateLayoutDefinitionManager.getLayoutDefinition(TemplateLayoutDefinitionManager.java:167)
        at
com.sun.jsftemplating.layout.LayoutDefinitionManager.getLayoutDefinition(LayoutDefinitionManager.java:123)
        at
com.sun.jsftemplating.layout.LayoutViewRoot.getLayoutDefinition(LayoutViewRoot.java:227)
        at
com.sun.jsftemplating.layout.LayoutViewHandler.createView(LayoutViewHandler.java:142)
        at
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:201)
        at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
        at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
        at com.sun.webui.jsf.util.UploadFilter.doFilter(Unknown Source)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:255)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1029)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1029)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:249)
        at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:618)
        at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.processNonBlocked(DefaultProcessorTask.java:549)
at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:790)
        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:332)
        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:254)
        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:205)
        at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
        at
com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:103)
|#]





<sun:page>
<!beforeCreate
    setPageSessionAttribute(key="flag" value="#{true}")
 />
        <sun:button>
        <!command
            if( #{flag}){
                println(value="!!! Ok ");
            }
        />
        </sun:button>
 
</sun:page>