DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25719>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25719 timezone support for bean:write tag Summary: timezone support for bean:write tag Product: Struts Version: 1.1RC2 Platform: All OS/Version: Other Status: NEW Severity: Enhancement Priority: Other Component: Custom Tags AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] currently as of version 1.2 of Struts custom tag library, timezone is not configurable for using bean:write tag with Date object. Both JSTL and apache date custom tags support converting date value to that of different timezone. below is a subclass I created to accomodate timezone configuration. Something like this would do.. public class WriteDateTag extends WriteTag { private String timeZoneString; public void setTimezone(String timeZoneString) { this.timeZoneString = timeZoneString; } public String getTimezoneString() { return timeZoneString; } /** * Format value according to specified format string (as tag attribute or * as string from message resources) or to current user locale. * * @param valueToFormat value to process and convert to String * @exception JspException if a JSP exception has occurred */ protected String formatValue(Object valueToFormat) throws JspException { Format format = null; Object value = valueToFormat; Locale locale = RequestUtils.retrieveUserLocale(pageContext, this.localeKey); boolean formatStrFromResources = false; String formatString = formatStr; // Try to retrieve format string from resources by the key from formatKey. if( ( formatString==null ) && ( formatKey!=null ) ) { formatString = retrieveFormatString( this.formatKey ); if( formatString!=null ) formatStrFromResources = true; } if (formatString == null) { if (value instanceof java.sql.Timestamp) { formatString = retrieveFormatString(SQL_TIMESTAMP_FORMAT_KEY); } else if (value instanceof java.sql.Date) { formatString = retrieveFormatString(SQL_DATE_FORMAT_KEY); } else if (value instanceof java.sql.Time) { formatString = retrieveFormatString(SQL_TIME_FORMAT_KEY); } else if (value instanceof java.util.Date) { formatString = retrieveFormatString(DATE_FORMAT_KEY); } if (formatString != null) formatStrFromResources = true; } TimeZone tz = null; if (timeZoneString != null) { tz = TimeZone.getTimeZone(timeZoneString); } else { tz = TimeZone.getDefault(); } if (formatString != null) { if (formatStrFromResources) { format = new SimpleDateFormat(formatString, locale); } else { format = new SimpleDateFormat(formatString); } } if (format != null) { ((SimpleDateFormat) format).setTimeZone(tz); return format.format(value); } else { return value.toString(); } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]