Lukasz Lenart created WW-5810:
---------------------------------

             Summary: Support java.time types in the datetextfield tag
                 Key: WW-5810
                 URL: https://issues.apache.org/jira/browse/WW-5810
             Project: Struts 2
          Issue Type: Improvement
          Components: Core Tags
            Reporter: Lukasz Lenart


h2. Problem

{{datetextfield}} only works with {{java.util.Date}} properties:
* The JavaTemplates {{DateTextFieldHandler}} casts the value straight to 
{{java.util.Date}}, so a {{LocalDate}} property fails with a 
{{ClassCastException}}
* {{DateTextFieldInterceptor}} reassembles the split fields with 
{{SimpleDateFormat}} and always sets a {{java.util.Date}}
* The html5 template added in WW-5778 renders the ISO {{yyyy-MM-dd}} value from 
{{java.util.Date}} only

{{input type="date"}} maps naturally to {{java.time.LocalDate}}, which is the 
type most applications now use for a date without a time.

h2. Proposal

Support {{java.time}} property types (at least {{LocalDate}}) in 
{{datetextfield}}:
* html5 theme: render the ISO {{yyyy-MM-dd}} value for {{LocalDate}} (and 
define the behaviour for {{LocalDateTime}} / {{ZonedDateTime}} etc. — truncate 
to the date, or reject)
* JavaTemplates theme: format the split fields from {{java.time}} values and 
have {{DateTextFieldInterceptor}} set the property's declared type
* Tests for each supported type, and the tag reference updated to list them

Related: WW-5778 (datetextfield in the html5 theme)



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to