date
Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.
Description
Format Date object in different ways.
The date tag will allow you to format a Date in a quick and easy way. You can specify a custom format
(eg. “dd/MM/yyyy hh:mm”), you can generate easy readable notations (like “in 2 hours, 14 minutes”), or you can just
fall back on a predefined format with key struts.date.format
in your properties file.
If that key is not defined, it will finally fall back to the default DateFormat.MEDIUM
formatting.
Note: If the requested Date object isn’t found on the stack, a blank will be returned.
Configurable attributes are:
- name
- nice
- format
Following how the date component will work, depending on the value of nice attribute (which by default is false) and the format attribute.
Condition 1: With nice attribute as true
i18n key | default |
struts.date.format.past | {0} ago |
struts.date.format.future | in {0} |
struts.date.format.seconds | an instant |
struts.date.format.minutes | {0,choice,1#one minute|1<{0} minutes} |
struts.date.format.hours | {0,choice,1#one hour|1<{0} hours}{1,choice,0#|1#, one minute|1<, {1} minutes} |
struts.date.format.days | {0,choice,1#one day|1<{0} days}{1,choice,0#|1#, one hour|1<, {1} hours} |
struts.date.format.years | {0,choice,1#one year|1<{0} years}{1,choice,0#|1#, one day|1<, {1} days} |
Condition 2: With nice attribute as false and format attribute is specified eg. dd/MM/yyyyy
In this case the format attribute will be used.
Condition 3: With nice attribute as false and no format attribute is specified
i18n key | default |
---|---|
struts.date.format | if one is not found DateFormat.MEDIUM format will be used |
Render a formatted date.
Attributes
Dynamic Attributes Allowed:false |
|||||
Name |
Required |
Default |
Evaluated |
Type |
Description |
---|---|---|---|---|---|
format | false | false | String | Date or DateTime format pattern | |
name | true | false | String | The date value to format | |
nice | false | false | false | Boolean | Whether to print out the date nicely |
performClearTagStateForTagPoolingServers | false | false | false | Boolean | Whether to clear all tag state during doEndTag() processing (if applicable) |
timezone | false | false | String | The specific timezone in which to format the date | |
var | false | false | String | Name used to reference the value pushed into the Value Stack (scope: action). |
Examples
<s:date name="person.birthday" format="dd/MM/yyyy" />
<s:date name="person.birthday" format="%{getText('some.i18n.key')}" />
<s:date name="person.birthday" nice="true" />
<s:date name="person.birthday" />