listtag.java

来自「JavaWeb高级特性书中源代码」· Java 代码 · 共 48 行

JAVA
48
字号
package org.it315;
import java.io.IOException;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.DynamicAttributes;
import javax.servlet.jsp.tagext.TagSupport;
public class ListTag extends TagSupport implements DynamicAttributes
{
	private String name;
	private HashMap map = new HashMap();
	public void setName(String name)
	{
		this.name = name;
	}
	public void setDynamicAttribute(String uri, String localName, Object value) 
									throws JspException
	{
		map.put(localName,value);
	}
	public int doStartTag() throws JspException
	{
		JspWriter out = pageContext.getOut();
		Set list = map.entrySet();
		try
		{
			out.print("<select name='" + name + "'>");
			Iterator it = list.iterator();
			while(it.hasNext())
			{
				Map.Entry entry = (Map.Entry)it.next();
				out.print("  <option value='");
				out.print(entry.getKey()); 
				out.print("'>");
				out.print(entry.getValue());
				out.println("</option>");
			}
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
		return super.doStartTag();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?