[ 
https://issues.apache.org/jira/browse/VELTOOLS-191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17435018#comment-17435018
 ] 

Christopher Schultz edited comment on VELTOOLS-191 at 10/27/21, 7:14 PM:
-------------------------------------------------------------------------

Exception stack trace:

{{org.apache.velocity.exception.MethodInvocationException: Invocation of method 
'getDynamicJavascript' in class org.apache.velocity.tools.struts.ValidatorTool 
threw exception java.lang.NullPointer}}
 {{Exception at [template].vm[line Y, column X]}}
 \{{ at 
org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:223)}}
 \{{ at 
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)}}
 \{{ at 
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)}}
 \{{ at 
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)}}
 \{{ at 
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)}}
 \{{ at 
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)}}
 \{{ at 
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)}}
 \{{ at org.apache.velocity.Template.merge(Template.java:356)}}
 \{{ at org.apache.velocity.Template.merge(Template.java:260)}}
 \{{ at 
org.apache.velocity.tools.view.VelocityLayoutServlet.mergeTemplate(VelocityLayoutServlet.java:206)}}
 \{{ at 
org.apache.velocity.tools.view.VelocityViewServlet.doRequest(VelocityViewServlet.java:220)}}
 \{{ at 
org.apache.velocity.tools.view.VelocityViewServlet.doGet(VelocityViewServlet.java:182)}}
 \{{ at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)}}
 \{{ at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)}}{{[...]}}{{Caused 
by: java.lang.NullPointerException
 at 
org.apache.velocity.tools.struts.ValidatorTool.createMethods(ValidatorTool.java:722)
 at 
org.apache.velocity.tools.struts.ValidatorTool.getDynamicJavascript(ValidatorTool.java:505)
 at 
org.apache.velocity.tools.struts.ValidatorTool.getJavascript(ValidatorTool.java:470)
 at 
org.apache.velocity.tools.struts.ValidatorTool.getDynamicJavascript(ValidatorTool.java:449)
 at 
org.apache.velocity.tools.struts.ValidatorTool.getDynamicJavascript(ValidatorTool.java:410)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at 
org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:142)
 at 
org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:539)
 at 
org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:198)
 ... 117 more}}

 

One could argue that javascript validation should not be used past 
commons-validator v1.4.1, but the fact remains that commons-validator claims 
that v1.5 (the next version up from v1.4.1) has "NO BREAKING CHANGES" when in 
fact an upgrade to just the library in your application may result in NPEs any 
time you are trying to display a form. (Oops).


was (Author: ch...@christopherschultz.net):
Exception stack trace:

{{org.apache.velocity.exception.MethodInvocationException: Invocation of method 
'getDynamicJavascript' in class org.apache.velocity.tools.struts.ValidatorTool 
threw exception java.lang.NullPointer}}
{{Exception at [template].vm[line Y, column X]}}
{{ at 
org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:223)}}
{{ at 
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)}}
{{ at 
org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)}}
{{ at 
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)}}
{{ at 
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)}}
{{ at 
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)}}
{{ at 
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)}}
{{ at org.apache.velocity.Template.merge(Template.java:356)}}
{{ at org.apache.velocity.Template.merge(Template.java:260)}}
{{ at 
org.apache.velocity.tools.view.VelocityLayoutServlet.mergeTemplate(VelocityLayoutServlet.java:206)}}
{{ at 
org.apache.velocity.tools.view.VelocityViewServlet.doRequest(VelocityViewServlet.java:220)}}
{{ at 
org.apache.velocity.tools.view.VelocityViewServlet.doGet(VelocityViewServlet.java:182)}}
{{ at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)}}
{{ at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)}}{{[...]}}{{Caused 
by: java.lang.NullPointerException
 at 
org.apache.velocity.tools.struts.ValidatorTool.createMethods(ValidatorTool.java:722)
 at 
org.apache.velocity.tools.struts.ValidatorTool.getDynamicJavascript(ValidatorTool.java:505)
 at 
org.apache.velocity.tools.struts.ValidatorTool.getJavascript(ValidatorTool.java:470)
 at 
org.apache.velocity.tools.struts.ValidatorTool.getDynamicJavascript(ValidatorTool.java:449)
 at 
org.apache.velocity.tools.struts.ValidatorTool.getDynamicJavascript(ValidatorTool.java:410)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at 
org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:142)
 at 
org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:539)
 at 
org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:198)
 ... 117 more}}

One could argue that javascript validation should not be used past 
commons-validator v1.4.1, but the fact remains that commons-validator claims 
that v1.5 (the next version up from v1.4.1) has "NO BREAKING CHANGES" when in 
fact an upgrade to just the library in your application may result in NPEs any 
time you are trying to display a form. (Oops).

> Upgrading commons-validator past v1.4.1 and still trying to use javascript 
> validation causes NullPointerException
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: VELTOOLS-191
>                 URL: https://issues.apache.org/jira/browse/VELTOOLS-191
>             Project: Velocity Tools
>          Issue Type: Bug
>          Components: VelocityStruts
>    Affects Versions: 2.0
>            Reporter: Christopher Schultz
>            Priority: Minor
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to