[
https://issues.apache.org/jira/browse/WW-4453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lukasz Lenart updated WW-4453:
------------------------------
Description:
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);
}
{code}
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}
was:
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}
> <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.22
>
>
> 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);
> }
> {code}
> 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)