struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christoph Nenning (JIRA)" <>
Subject [jira] [Commented] (WW-4551) Allowing conversion of RFC3339 dates with date part only (yyyy-MM-dd) as per HTML5 and w3 standard for <input type="date" /> (and others).
Date Fri, 09 Oct 2015 11:29:26 GMT


Christoph Nenning commented on WW-4551:

Sorry, I did not check the {{Fix Version}} as I closed it. I merged it into master and intended
that it be present in 2.5 only.

Please note for cherry-picking that I did another commit to add testcases.

original PR commit:

test case commit:

> Allowing conversion of RFC3339 dates with date part only (yyyy-MM-dd) as per HTML5 and
w3 standard for <input type="date" /> (and others).
> ------------------------------------------------------------------------------------------------------------------------------------------
>                 Key: WW-4551
>                 URL:
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Core Actions
>    Affects Versions: 2.3.24
>            Reporter: Andrea Ligios
>            Assignee: Christoph Nenning
>             Fix For: 2.3.x
> Facts:
> - {code:xml}<input type="date" />{code} is the HTML5 standard for inputing dates.
It works in many browsers: Chrome, Opera, almost every mobile browsers - where it is fundamental
- and the coverage can only grow. 
> - [w3 has chosen the RFC3339 *with date only*|]
as *value format* {code}yyyy-MM-dd{code} while transparently handling the *display format*
according to the Locale. 
> This means that, for example, americans see {code}MM/dd/yyyy{code}, italians see {code}dd/MM/yyyy{code},
but both of them send {code}yyyy-MM-dd{code} to the server. *Without the time part*.
> - Struts Date Converter already works for: 
> {|borderStyle=solid}
> DateFormat dt1 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG, locale);
> DateFormat dt2 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM,
> DateFormat dt3 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale);
> DateFormat d1 = DateFormat.getDateInstance(DateFormat.SHORT, locale);
> DateFormat d2 = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
> DateFormat d3 = DateFormat.getDateInstance(DateFormat.LONG, locale);
> DateFormat rfc3339 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
> {code}
> with a final fallback to {code:java}DateFormat.SHORT{code} if nothing worked (in case
of Time and Timestamps too).
> My idea is: 
> can we add the support for *date-only RFC3339*, that is the one sent by the browser,
*in addition* to the ones already there ? No existing code would break, and we'd have a standard,
automatic conversion for a popular, growing *standard*.
> I can't see any cons. Can you ?

This message was sent by Atlassian JIRA

View raw message