Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts2.components
Class Date

    java.lang.Object
      org.apache.struts2.components.Component
          org.apache.struts2.components.Date

    public class Date

extends Component

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

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`

Field Summary
`private static String` | `DATETAG_DEFAULT_DAYS`
`private static String` | `DATETAG_DEFAULT_FUTURE`
`private static String` | `DATETAG_DEFAULT_HOURS`
`private static String` | `DATETAG_DEFAULT_MINUTES`
`private static String` | `DATETAG_DEFAULT_PAST`
`private static String` | `DATETAG_DEFAULT_SECONDS`
`private static String` | `DATETAG_DEFAULT_YEARS`
`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})
`private String` | `format`
`private static Log` | `LOG`
`private String` | `name`
`private boolean` | `nice`

Fields inherited from class org.apache.struts2.components.Component
`actionMapper, COMPONENT_STACK, id, parameters, stack`

Constructor Summary
`Date(ValueStack stack)`

Method Summary
`boolean` | `end(Writer writer, String body)` Callback for the end tag of this component.
`private TextProvider` | `findProviderInStack()`
`String` | `formatTime(TextProvider tp, Date date)` Calculates the difference in time from now to the given date, and outputs it nicely.
`String` | `getFormat()`
`String` | `getName()`
`boolean` | `isNice()`
`void` | `setFormat(String format)`
`void` | `setName(String name)`
`void` | `setNice(boolean nice)`

Methods inherited from class org.apache.struts2.components.Component
`addAllParameters, addParameter, altSyntax, copyParams, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findValue, findValue, findValue, getComponentStack, getId, getParameters, getStack, popComponentStack, setActionMapper, setId, start, toString, usesBody`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### LOG

    private static final Log LOG

### DATETAG_PROPERTY

    public static final String DATETAG_PROPERTY

  Property name to fall back when no format is specified

  See Also:
    Constant Field Values

### DATETAG_PROPERTY_PAST

    public static final String DATETAG_PROPERTY_PAST

  Property name that defines the past notation (default: {0} ago)

  See Also:
    Constant Field Values

### DATETAG_DEFAULT_PAST

    private static final String DATETAG_DEFAULT_PAST

See Also:
  Constant Field Values

### DATETAG_PROPERTY_FUTURE

    public static final String DATETAG_PROPERTY_FUTURE

  Property name that defines the future notation (default: in {0})

  See Also:
    Constant Field Values

### DATETAG_DEFAULT_FUTURE

    private static final String DATETAG_DEFAULT_FUTURE

See Also:
  Constant Field Values

### DATETAG_PROPERTY_SECONDS

    public static final String DATETAG_PROPERTY_SECONDS

  Property name that defines the seconds notation (default: in instant)

  See Also:
    Constant Field Values

### DATETAG_DEFAULT_SECONDS

    private static final String DATETAG_DEFAULT_SECONDS

See Also:
  Constant Field Values

### DATETAG_PROPERTY_MINUTES

    public static final String DATETAG_PROPERTY_MINUTES

  Property name that defines the minutes notation (default: {0,choice,1#one minute|1<{0} minutes})

  See Also:
    Constant Field Values

### DATETAG_DEFAULT_MINUTES

    private static final String DATETAG_DEFAULT_MINUTES

See Also:
  Constant Field Values

### DATETAG_PROPERTY_HOURS

    public static final 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})

  See Also:
    Constant Field Values

### DATETAG_DEFAULT_HOURS

    private static final String DATETAG_DEFAULT_HOURS

See Also:
  Constant Field Values

### DATETAG_PROPERTY_DAYS

    public static final 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})

  See Also:
    Constant Field Values

### DATETAG_DEFAULT_DAYS

    private static final String DATETAG_DEFAULT_DAYS

See Also:
  Constant Field Values

### DATETAG_PROPERTY_YEARS

    public static final 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})

  See Also:
    Constant Field Values

### DATETAG_DEFAULT_YEARS

    private static final String DATETAG_DEFAULT_YEARS

See Also:
  Constant Field Values

### name

    private String name

### format

    private String format

### nice

    private boolean nice

Constructor Detail

### Date

    public Date(ValueStack stack)

Method Detail

### findProviderInStack

    private TextProvider findProviderInStack()

### formatTime

    public String formatTime(TextProvider tp,
                             Date date)

  Calculates the difference in time from now to the given date, and outputs it nicely.

  An example:
  Now = 2006/03/12 13:38:00, date = 2006/03/12 15:50:00 will output "in 1 hour, 12 minutes".

  Parameters:
    `tp` - text provider
    `date` - the date
  Returns:
    the date nicely

### end

    public boolean end(Writer writer,
                       String body)

  Description copied from class: `Component`
  Callback for the end tag of this component. Should the body be evaluated again?

  NOTE: will pop component stack.

  Overrides:
    `end` in class `Component`
  Parameters:
    `writer` - the output writer.
    `body` - the rendered body.
  Returns:
    true if the body should be evaluated again

### setFormat

    public void setFormat(String format)

### setNice

    public void setNice(boolean nice)

### getName

    public String getName()

  Returns:
    Returns the name.

### setName

    public void setName(String name)

### getFormat

    public String getFormat()

  Returns:
    Returns the format.

### isNice

    public boolean isNice()

  Returns:
    Returns the nice.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.