1 package com.acme; 2 3 import java.io.IOException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 import java.util.StringTokenizer; 7 8 import javax.servlet.jsp.JspContext; 9 import javax.servlet.jsp.JspException; 10 import javax.servlet.jsp.tagext.JspFragment; 11 import javax.servlet.jsp.tagext.SimpleTagSupport; 12 13 public class Date2Tag extends SimpleTagSupport 14 { 15 String format; 16 17 public void setFormat(String value) { 18 this.format = value; 19 } 20 21 public void doTag() throws JspException, IOException { 22 String formatted = 23 new SimpleDateFormat("long".equals(format)?"EEE 'the' d:MMM:yyyy":"d:MM:yy") 24 .format(new Date()); 25 StringTokenizer tok = new StringTokenizer(formatted,":"); 26 JspContext context = getJspContext(); 27 context.setAttribute("day", tok.nextToken() ); 28 context.setAttribute("month", tok.nextToken() ); 29 context.setAttribute("year", tok.nextToken() ); 30 31 JspFragment fragment = getJspBody(); 32 fragment.invoke(null); 33 } 34 } 35