Lukasz Lenart created WW-4453:
---------------------------------
Summary: <s:date/> tag doesn't report missing value
Key: WW-4453
URL: https://issues.apache.org/jira/browse/WW-4453
Project: Struts 2
Issue Type: Bug
Components: Plugin - Tags
Affects Versions: 2.3.21
Reporter: Lukasz Lenart
Fix For: 2.3.x
If you pass a value which isn't {{Date}} or {{Calendar}}, the {{<s:date/>}}
ignores it and doesn't report any problems. The problem is here
{code:java}
public boolean end(Writer writer, String body) {
String msg;
java.util.Date date = null;
// find the name on the valueStack
try {
//suport Calendar also
Object dateObject = findValue(name);
if (dateObject instanceof java.util.Date) {
date = (java.util.Date) dateObject;
} else if(dateObject instanceof Calendar){
date = ((Calendar) dateObject).getTime();
}
} catch (Exception e) {
LOG.error("Could not convert object with key '#0' to a java.util.Date
instance", name);
}
{java}
there must additional {{else}} clause to report missing value, ie:
{code:java}
if (dateObject instanceof java.util.Date) {
date = (java.util.Date) dateObject;
} else if(dateObject instanceof Calendar){
date = ((Calendar) dateObject).getTime();
} else {
LOG.error(...);
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)