You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@velocity.apache.org by je...@optonline.net on 2005/05/05 23:00:14 UTC

Ifnotnull

Hey all,

I had previously upgraded to 1.5-dev and things are working well with the one email templating thing I had found help here on.

Since the upgrade, however, I seem to be getting some RHS of #set statement is null. things i don't remember getting before.

I explored a bit and found:  http://wiki.apache.org/jakarta-velocity/CheckingForNull

I added these to my velocity property file:
       userdirective = org.apache.velocity.tools.generic.directive.Ifnull
       userdirective = org.apache.velocity.tools.generic.directive.Ifnotnull

And changed my template code as follows:
         #ifnotnull( $form )
             #set ($attr = $form.getBean())
         #end

And get this error:

Encountered "#end\r\n" at line 3, column 1. Was expecting one of: "(" ... ... ... ... "\\\\" ... "\\" ... ... ... "*#" ... "*#" ... ... ... ... ... ... ... ... ... ... ... "{" ... "}" ... 

org.apache.velocity.exception.ParseErrorException: Encountered "#end\r\n" at line 3, column 1.
Was expecting one of:
     
    "(" ...
     ...
     ...
     ...
    "\\\\" ...
    "\\" ...
     ...
     ...
    "*#" ...
    "*#" ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
    "{" ...
    "}" ...
    
	at org.apache.velocity.Template.process(Template.java:141)
	at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:428)
	at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:346)
	at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:835)
	at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:817)
	at org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:504)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.getTemplate(Unknown Source)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.handleRequest(Unknown Source)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.doRequest(Unknown Source)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.doPost(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
	at org.apache.velocity.tools.view.ImportSupport.acquireString(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.doInsert(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.doInsert(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.processUrl(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.processAsDefinitionOrURL(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.processObjectValue(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.get(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.velocity.runtime.parser.node.GetExecutor.execute(GetExecutor.java:65)
	at org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:300)
	at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:157)
	at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175)
	at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:224)
	at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:231)
	at org.apache.velocity.Template.merge(Template.java:256)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.mergeTemplate(Unknown Source)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.doRequest(Unknown Source)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.doPost(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
	at org.apache.velocity.tools.view.ImportSupport.acquireString(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.doInsert(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.doInsert(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.processDefinition(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.processAsDefinitionOrURL(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.processObjectValue(Unknown Source)
	at org.apache.velocity.tools.struts.TilesTool.get(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.velocity.runtime.parser.node.GetExecutor.execute(GetExecutor.java:65)
	at org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:300)
	at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:157)
	at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175)
	at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:224)
	at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:231)
	at org.apache.velocity.Template.merge(Template.java:256)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.mergeTemplate(Unknown Source)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.doRequest(Unknown Source)
	at org.apache.velocity.tools.view.servlet.VelocityViewServlet.doPost(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
	at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
	at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:237)
	at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:300)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.securityfilter.filter.SecurityFilter.doFilter(SecurityFilter.java:188)
	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.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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:534)






---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Re: Ifnotnull

Posted by Shinobu Kawai <sh...@gmail.com>.
Hi jeichels,

> I had previously upgraded to 1.5-dev and things are working well with the one email templating thing I had found help here on.
> 
> Since the upgrade, however, I seem to be getting some RHS of #set statement is null. things i don't remember getting before.
> 
> I explored a bit and found:  http://wiki.apache.org/jakarta-velocity/CheckingForNull
> 
> I added these to my velocity property file:
>       userdirective = org.apache.velocity.tools.generic.directive.Ifnull
>       userdirective = org.apache.velocity.tools.generic.directive.Ifnotnull

## Wow!  First person I've heard using it!

> And changed my template code as follows:
>         #ifnotnull( $form )
>             #set ($attr = $form.getBean())
>         #end
> 
> And get this error:
> 
> Encountered "#end\r\n" at line 3, column 1. Was expecting one of: "(" ... ... ... ... "\\\\" ... "\\" ... ... ... "*#" ... "*#" ... ... ... ... ... ... ... ... ... ... ... "{" ... "}" ...
> 
> org.apache.velocity.exception.ParseErrorException: Encountered "#end\r\n" at line 3, column 1.

The error suggests that you aren't configuring the directive
correctly.  Have you added it to your codebase/classpath?

Best regards,
-- Shinobu

--
Shinobu Kawai <sh...@gmail.com>

---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org