I wrote a tag for this, that simply uses the SimpleDateFormat class. I have attached it.Can someone please give me a pointer to how to customize the formatter for rendering date objects (and it's subclasses). I am trying to render a java.sql.Timestamp property and it only shows the date (not the time) AND the date is on the wrong locale.
I remember seeing something about this somewhere, but I can't find it again.
I'm using WW1.4 and the WW taglib BTW.
Anders Hovmöller
/* Copyright 2003 Anders Hovmöller * * The person or persons who have associated their work with * this document (the "Dedicator") hereby dedicate the entire * copyright in the work of authorship identified below (the * "Work") to the public domain. * * Dedicator makes this dedication for the benefit of the * public at large and to the detriment of Dedicator's heirs * and successors. Dedicator intends this dedication to be an * overt act of relinquishment in perpetuity of all present * and future rights under copyright law, whether vested or * contingent, in the Work. Dedicator understands that such * relinquishment of all rights includes the relinquishment of * all rights to enforce (by lawsuit or otherwise) those * copyrights in the Work. * * Dedicator recognizes that, once placed in the public * domain, the Work may be freely reproduced, distributed, * transmitted, used, modified, built upon, or otherwise * exploited by anyone for any purpose, commercial or non- * commercial, and in any way, including by methods that have * not yet been invented or conceived. */
/** * Get a date from the ValueStack and format it in a nice way. Defaults to "yyyy-MM-dd" format. */ package net.killingar.webwork.view.taglib; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspTagException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class DateTag extends webwork.view.taglib.WebWorkTagSupport { // Attributes ---------------------------------------------------- protected String valueAttr; protected String formatting = "yyyy-MM-dd"; protected DateFormat formatter = new SimpleDateFormat(formatting); // Public -------------------------------------------------------- public void setValue(String inName) { valueAttr = inName; } public void setFormat(String inFormatting) { formatting = inFormatting; formatter = new SimpleDateFormat(formatting); } // BodyTag implementation ---------------------------------------- public int doStartTag() throws JspException { try { Date value = (Date)findValue(valueAttr); if (value != null) pageContext.getOut().write(formatter.format(value)); } catch (Exception e) { e.printStackTrace(); throw new JspTagException("Could not show value " + valueAttr + ":" + e); } return SKIP_BODY; } }