You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Yan Soulliaert (JIRA)" <ji...@apache.org> on 2016/07/20 10:06:21 UTC
[jira] [Created] (WW-4663) NullPointerException when displaying a
form without action attribute
Yan Soulliaert created WW-4663:
----------------------------------
Summary: NullPointerException when displaying a form without action attribute
Key: WW-4663
URL: https://issues.apache.org/jira/browse/WW-4663
Project: Struts 2
Issue Type: Bug
Affects Versions: 2.3.30, 2.3.29, 2.3.28
Reporter: Yan Soulliaert
Hello,
I'm currently trying to upgrade Struts from V2.3.20 to V2.3.30.
Starting from V2.3.28, I'm having a yellow FreeMarker stack at the end of some pages. These pages have a <s:form> tag without "action" attribute.
Here is some part of the displayed error :
{noformat}
Java method "org.apache.struts2.components.Form.getValidators(String)" threw an exception when invoked on org.apache.struts2.components.Form object "org.apache.struts2.components.Form@3d354929"; see cause exception in the Java stack trace.
FTL stack trace ("~" means nesting-related):
- Failed at: #list tag.getValidators("\$\{tagName\}"... [in template "template/~~~css_xhtml/form-close-validate.ftl" at line 66, column 9]
- Reached through: #include "/\$\{parameters.templateDir\}... [in template "template/xhtml/form-close.ftl" at line 25, column 1]
...
Caused by: java.lang.NullPointerException
at org.apache.struts2.util.ComponentUtils.containsExpression(ComponentUtils.java:51)
at org.apache.struts2.components.Component.findValue(Component.java:376)
at org.apache.struts2.components.Component.findString(Component.java:226)
at org.apache.struts2.components.Form.getValidators(Form.java:276)
{noformat}
Here are the results of my research :
- When the method org.apache.struts2.components.Form.getValidators(String name) is called at the end of the page display, the "action" var is null.
- findString(action) is called, leading to org.apache.struts2.components.Component.findValue(String expr, Class toType) with expr=null
- Starting from V2.3.28, a new condition has been added to this method : if (ComponentUtils.containsExpression(expr)). This raises the NPE.
Is this a bug, or am I doing something wrong ?
Thanks in advance,
Yan
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)