listtag.java
来自「weblogic应用全实例」· Java 代码 · 共 64 行
JAVA
64 行
//定义本类所在的包
package examples.jsp.tagext.session;
//定义本类引入的类
import java.io.*;
import java.util.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
/**
* 这个类定义定制的JSP标签,枚举当前的会话
*/
public class ListTag extends BodyTagSupport {
static final boolean debug = true;
Enumeration names;
HttpSession session;
public int doStartTag() throws javax.servlet.jsp.JspException {
// 获取JSP页会话
session = pageContext.getSession();
names = session.getAttributeNames();
if (names.hasMoreElements())
{
// 提取第一个name/value对
String name = (String)names.nextElement();
String value = (String)session.getAttribute(name);
// 设置name和value
pageContext.setAttribute("name", name);
pageContext.setAttribute("value", value);
return BodyTag.EVAL_BODY_TAG;
}
else
{
// 没有名称/值对
return BodyTag.SKIP_BODY;
}
}
public int doAfterBody() throws javax.servlet.jsp.JspException {
// 获取标签的内容
if (names.hasMoreElements()) {
String name = (String)names.nextElement();
String value = (String)session.getAttribute(name);
//
pageContext.setAttribute("name", name);
pageContext.setAttribute("value", value);
return EVAL_BODY_TAG;
}
else {
try {
getBodyContent().writeOut(getPreviousOut());
} catch (IOException ioe) {
throw new JspTagException(ioe.toString());
}
return SKIP_BODY;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?