1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package jsp2.examples.simpletag;
20
21 import java.io.IOException;
22 import java.util.ArrayList;
23
24 import javax.servlet.jsp.JspException;
25 import javax.servlet.jsp.JspWriter;
26 import javax.servlet.jsp.tagext.DynamicAttributes;
27 import javax.servlet.jsp.tagext.SimpleTagSupport;
28
29
30
31
32 public class EchoAttributesTag
33 extends SimpleTagSupport
34 implements DynamicAttributes {
35 private ArrayList keys = new ArrayList();
36 private ArrayList values = new ArrayList();
37
38 public void doTag() throws JspException, IOException {
39 JspWriter out = getJspContext().getOut();
40 for (int i = 0; i < keys.size(); i++) {
41 String key = (String) keys.get(i);
42 Object value = values.get(i);
43 out.println("<li>" + key + " = " + value + "</li>");
44 }
45 }
46
47 public void setDynamicAttribute(String uri, String localName,
48 Object value)
49 throws JspException {
50 keys.add(localName);
51 values.add(value);
52 }
53 }