You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Christopher Schultz (Jira)" <de...@velocity.apache.org> on 2021/10/27 19:15:00 UTC

[jira] [Comment Edited] (VELTOOLS-191) Upgrading commons-validator past v1.4.1 and still trying to use javascript validation causes NullPointerException

    [ 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: chris@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-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org