CertBean.java:package test.model;import java.sql.ResultSet;
import java.util.Vector;public class CertBean {
    
    private String certno;
    private String certdesc;
    private String empname;
    private String signdate;
    private String outdate;
    private String finishflag;
    private String senttimes;
    private String lsenttime;
    
    public CertBean(String certno, String certdesc, String empname, String signdate, String outdate, String finishflag, String senttimes, String lsenttime) {
        this.certno = certno;
        this.certdesc = certdesc;
        this.empname = empname;
        this.signdate = signdate;
        this.outdate = outdate;
        this.finishflag = finishflag;
        this.senttimes = senttimes;
        this.lsenttime = lsenttime;
    }
    
    public String getCertno(){
        return certno;
    }
    
    public void setCertno(String certno){
        this.certno = certno;
    }
    
    public String getCert_desc(){
        return certdesc;
    }
    
    public void setCert_desc(String certdesc){
        this.certdesc = certdesc;
    }
    
    public String getEmp_name(){
        return empname;
    }
    
    public void setEmp_name(String empname){
        this.empname = empname;
    }
    
    public String getSign_date(){
        return signdate;
    }
    
    public void setSign_date(String sign_date){
        this.signdate = signdate;
    }
    
    public String getOut_date(){
        return outdate;
    }
    
    public void setOut_date(String outdate){
        this.outdate = outdate;
    }
    
    public String getFinish_flag(){
        return finishflag;
    }
    
    public void setFinish_flag(String finishflag){
        this.finishflag = finishflag;
    }
    
    public String getSent_times(){
        return senttimes;
    }
    
    public void setSent_times(String senttimes){
        this.senttimes = senttimes;
    }
    
    public String getLsent_time(){
        return lsenttime;
    }
    
    public void setLsent_time(String lsenttime){
        this.lsenttime = lsenttime;
    }
    
    public static Vector getCertList() {
        Vector CertList = new Vector();
        String strsql = "select a.certno,a.cert_desc,b.emp_name,a.sign_date,a.out_date,a.finish_flag,a.sent_times,a.lsent_time from cert_info a,staff_info b where a.empno=b.empno";
        DBUtil DBUtil = new DBUtil();
        ResultSet rs = DBUtil.executeQuery(strsql);           
        while(DBUtil.rs_next()){
            CertBean cert = new CertBean(DBUtil.rs_getString("certno"), DBUtil.rs_getString("cert_desc"), DBUtil.rs_getString("emp_name"), DBUtil.rs_getString("sign_date"), DBUtil.rs_getString("out_date"), DBUtil.rs_getString("finish_flag"), DBUtil.rs_getString("sent_times"), DBUtil.rs_getString("lsent_time"));
            CertList.add(cert);
        }
        DBUtil.rs_close();
        DBUtil.stmt_close();
        DBUtil.conn_close();
        return CertList;
    }
    
}DisplayTag.java:
package test.tags;import cn.com.bpzr.admin.JavaBeans.CertBean;
import cn.com.bpzr.admin.JavaBeans.Constants;
import java.util.Vector;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspTagException;public final class DisplayTag extends TagSupport {    public int doEndTag() throws JspException{
        JspWriter out = pageContext.getOut();
        HttpSession session = pageContext.getSession();
        try{
            Vector certList = CertBean.getCertList();            out.println("<table border=\"2\" cellspacing=\"0\" cellpadding=\"0\">");
            out.println("<tr>");
            out.println("<th BGCOLOR=\"#00FF00\"><b>Certno</b></th>");
            out.println("<th BGCOLOR=\"#00FF00\"><b>Cert_Desc<b></th>");
            out.println("<th BGCOLOR=\"#00FF00\"><b>Emp_name</b></th>");
            out.println("<th BGCOLOR=\"#00FF00\"><b>Sign_date</b></th>");
            out.println("<th BGCOLOR=\"#00FF00\"><b>Out_date</b></th>");
            out.println("<th BGCOLOR=\"#00FF00\"><b>Finish_flag<b></th>");
            out.println("<th BGCOLOR=\"#00FF00\"><b>Sent_times</b></th>");
            out.println("<th BGCOLOR=\"#00FF00\"><b>Lsent_time</b></th>");
            out.println("</tr>");            for(int i=0;i<=certList.size();i++){
                CertBean bean = (CertBean)certList.elementAt(i);
                out.println("<tr>");
                out.println("<td>" + bean.getCertno() + "</td>");
                out.println("<td>" + bean.getCert_desc() + "</td>");
                out.println("<td>" + bean.getEmp_name() + "</td>");
                out.println("<td>" + bean.getSign_date() + "</td>");
                out.println("<td>" + bean.getOut_date() + "</td>");
                out.println("<td>" + bean.getFinish_flag() + "</td>");
                out.println("<td>" + bean.getSent_times() + "</td>");
                out.println("</tr>");
            }            out.println("</table>");
        }catch (Exception ex){
            throw new JspTagException("IOException:" + ex.toString());
        }
        return super.doEndTag();
    }
}参考了孙卫琴的代码,结果在单步运行时发现,displaytag总是会进到throw new JspTagException("IOException:" + ex.toString());中去,导致运行不正确。
我看来看去觉得没有什么问题,现来此请教大家,帮忙看看是什么问题。