resultstag.java
来自「weblogic应用全实例」· Java 代码 · 共 62 行
JAVA
62 行
//声明本类所在的包
package examples.jsp.tagext.sql;
//声明本类引入的其它包
import java.io.*;
import java.sql.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
/**
* 这个类定义一个定制的JSP标签,显示当前会话的内容
*/
public class ResultsTag extends BodyTagSupport {
String rName;
ResultSet results;
public void setFrom_query(String r) { rName = r; }
public String getFrom_query() { return rName; }
//实现doStartTag方法
public int doStartTag() throws javax.servlet.jsp.JspException {
results = (ResultSet)pageContext.getAttribute(rName);
if (results != null) {
try {
if (results.next())
{
// 指令JSP引擎评价标签体
return EVAL_BODY_TAG;
}
else
{
// 结果集ResultSet为空,指令JSP引擎跳过标签体
return BodyTag.SKIP_BODY;
}
} catch(Exception e) {
throw new JspException("Failed to use ResultSet. Exception thrown"+e);
}
}
return SKIP_BODY;
}
//实现doAfterBody方法
public int doAfterBody() throws javax.servlet.jsp.JspException {
try {
if (results.next()) {
return EVAL_BODY_TAG;
} else {
// 注意体内容是逐渐增多的。
getPreviousOut().print(getBodyContent().getString());
//getBodyContent().writeOut(getPreviousOut());
return SKIP_BODY;
}
} catch (Exception ioe) {
throw new JspTagException(ioe.toString());
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?