struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Lindholm <>
Subject Re: textfield with Date object
Date Tue, 30 Mar 2010 15:14:23 GMT
(Seems like I just answered this question... but here it is again this
time for Dates)

In my experience it's better to define number (and time) input fields
as String and perform the conversion and validation in your action
using java.text.NumberFormat (and java.text.DateFormat).  This puts
you in control of the
process and let's you handle I18N issues that way you want to without
fighting Struts.

I typically have a couple of helper methods I put into the base Action
class that simplify getting the users Locale and DateFormat.
Depending on the app the users Locale may come from a Login object or
the browser request (which Struts can retrieve) or from a cookie.

On Tue, Mar 30, 2010 at 10:34 AM, Wick, Dan <> wrote:
> Does anyone know how to change the format of dates coming in on a text input being backed
by a java.util.Date in the Action?  If I enter dates in US format (ex: 3/31/2010 for March
31, 2010) everything is fine.  This requires a different style input though, using Day/Month/Year
(31/3/2010).  I suppose I could take in a string & parse it for a date myself, but I'm
wondering if there's a Right way to do it.
> --Dan
> <-- Snip of jsp page -->
> Date Of Birth*
> <s:textfield name="dob" required="true" tabindex="4" size="30" cssClass="staticBody"
> <-- End snip of jsp page -->
> <-- Snip of Action -->
>        private Date dob;
>        public Date getDob() {
>                return dob;
>        }
>        @RequiredStringValidator(message="Date of Birth is required.", trim=true)
>        public void setDob(Date dob) {
>                this.dob = dob;
>        }
> <-- End snip of Action -->
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message