1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package jsp2.examples.simpletag;
19
20 import javax.servlet.jsp.JspException;
21 import javax.servlet.jsp.JspWriter;
22 import javax.servlet.jsp.tagext.SimpleTagSupport;
23 import javax.servlet.jsp.tagext.DynamicAttributes;
24 import java.util.ArrayList;
25 import java.util.Iterator;
26 import java.io.IOException;
27
28 /**
29 * SimpleTag handler that echoes all its attributes
30 */
31 public class EchoAttributesTag
32 extends SimpleTagSupport
33 implements DynamicAttributes
34 {
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 {
51 keys.add( localName );
52 values.add( value );
53 }
54 }