struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yan Soulliaert (JIRA)" <>
Subject [jira] [Created] (WW-4663) NullPointerException when displaying a form without action attribute
Date Wed, 20 Jul 2016 10:06:21 GMT
Yan Soulliaert created WW-4663:

             Summary: NullPointerException when displaying a form without action attribute
                 Key: WW-4663
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.3.30, 2.3.29, 2.3.28
            Reporter: Yan Soulliaert


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 :
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(
	at org.apache.struts2.components.Component.findValue(
	at org.apache.struts2.components.Component.findString(
	at org.apache.struts2.components.Form.getValidators(

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,

This message was sent by Atlassian JIRA

View raw message