public class Date extends ContextBean
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:
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 |
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" />
Date
Modifier and Type | Field and Description |
---|---|
static String |
DATETAG_PROPERTY
Property name to fall back when no format is specified
|
static String |
DATETAG_PROPERTY_DAYS
Property name that defines the days notation (default: {0,choice,1#one day|1<{0} days}{1,choice,0#|1#, one hour|1<,
{1} hours})
|
static String |
DATETAG_PROPERTY_FUTURE
Property name that defines the future notation (default: in {0})
|
static String |
DATETAG_PROPERTY_HOURS
Property name that defines the hours notation (default: {0,choice,1#one hour|1<{0} hours}{1,choice,0#|1#, one
minute|1>, {1} minutes})
|
static String |
DATETAG_PROPERTY_MINUTES
Property name that defines the minutes notation (default: {0,choice,1#one minute|1<{0} minutes})
|
static String |
DATETAG_PROPERTY_PAST
Property name that defines the past notation (default: {0} ago)
|
static String |
DATETAG_PROPERTY_SECONDS
Property name that defines the seconds notation (default: in instant)
|
static String |
DATETAG_PROPERTY_YEARS
Property name that defines the years notation (default: {0,choice,1#one year|1<{0} years}{1,choice,0#|1#, one
day|1>, {1} days})
|
var
actionMapper, COMPONENT_STACK, devMode, parameters, stack, standardAttributesMap, throwExceptionOnELFailure
Constructor and Description |
---|
Date(ValueStack stack) |
Modifier and Type | Method and Description |
---|---|
boolean |
end(Writer writer,
String body)
Callback for the end tag of this component.
|
String |
formatTime(TextProvider tp,
ZonedDateTime date)
Calculates the difference in time from now to the given date, and outputs it nicely.
|
String |
getFormat() |
String |
getName() |
String |
getTimezone() |
boolean |
isNice() |
void |
setFormat(String format) |
void |
setName(String name) |
void |
setNice(boolean nice) |
void |
setTimezone(String timezone) |
getVar, putInContext, setVar
addAllParameters, addParameter, altSyntax, completeExpressionIfAltSyntax, copyParams, determineActionURL, determineNamespace, end, escapeHtmlBody, fieldError, findAncestor, findString, findString, findStringIfAltSyntax, findValue, findValue, findValue, getComponentStack, getParameters, getStack, getStandardAttributes, isValidTagAttribute, popComponentStack, setActionMapper, setDevMode, setThrowExceptionsOnELFailure, setUrlHelper, start, stripExpressionIfAltSyntax, toString, usesBody
public static final String DATETAG_PROPERTY
public static final String DATETAG_PROPERTY_PAST
public static final String DATETAG_PROPERTY_FUTURE
public static final String DATETAG_PROPERTY_SECONDS
public static final String DATETAG_PROPERTY_MINUTES
public static final String DATETAG_PROPERTY_HOURS
public static final String DATETAG_PROPERTY_DAYS
public static final String DATETAG_PROPERTY_YEARS
public Date(ValueStack stack)
public String formatTime(TextProvider tp, ZonedDateTime date)
tp
- text providerdate
- the datepublic boolean end(Writer writer, String body)
Component
public void setFormat(String format)
public void setNice(boolean nice)
public void setTimezone(String timezone)
public String getName()
public void setName(String name)
public String getFormat()
public boolean isNice()
public String getTimezone()
Copyright © 2000–2020 Apache Software Foundation. All rights reserved.