⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selecttag.java

📁 21天精通Java,这是一本英文书
💻 JAVA
字号:
package demo;

import java.io.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

public class SelectTag extends BodyTagSupport {
   public int doEndTag() throws JspException {
      try {
         String ans = doSelect(bodyContent.getString());
         pageContext.getOut().print(ans);
         bodyContent.clearBody();
      }
      catch (Exception ex) {
         throw new JspTagException("SqlTag: "+ex);
      }
      return EVAL_PAGE;
   }

   private String doSelect (String cmd) throws NamingException, SQLException {
      StringBuffer ans = new StringBuffer("<H2>"+cmd+"</H2>");
      InitialContext ic = new InitialContext();
      DataSource dataSource = (DataSource)ic.lookup("java:comp/env/jdbc/Agency");
      Connection con = null;
      PreparedStatement stmt = null;
      ResultSet rs = null;
      try {
          con = dataSource.getConnection();
          stmt = con.prepareStatement(cmd);
          rs = stmt.executeQuery();
          ans.append("<TABLE border=1>");
          ResultSetMetaData rsmd = rs.getMetaData();
          int numCols = rsmd.getColumnCount();
          // get column header info
          ans.append("<TR>");
          for (int i=1; i <= numCols; i++) {
              ans.append("<TH>");
              ans.append(rsmd.getColumnLabel(i));
              ans.append("</TH>");
          }
          ans.append("</TR>");
          // get cmma separated data
          while (rs.next()) {
              ans.append("</TR>");
    		  for (int i=1; i <= numCols; i++) {
                  ans.append("<TD>");
			          ans.append(rs.getString(i));
                  ans.append("</TD>");
              }
              ans.append("</TR>");
          }
          ans.append("</TABLE>");
      }
      finally {
          if (rs != null) {
              try {rs.close();} catch (SQLException ex) {}
          }
          if (stmt != null) {
              try {stmt.close();} catch (SQLException ex) {}
          }
          if (con != null) {
              try {con.close();} catch (SQLException ex) {}
          }
      }
      return ans.toString();
   }
}

⌨️ 快捷键说明

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