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