Eclipse+JSP使用自定义标签库查询出MySQL表中的数据显示在页面

大家上午好,今天将与大家共享用Eclipse开发工具在JSP页面中使用自定义标签库查询MySQL数据表的数据,纯手打,如果对你有帮助或者有所了解 麻烦顶一下谢谢。话不多说,现在就开始教程:


第一步:


新建一个Web项目(TagLibBooks ),导入MySQL的驱动包(驱动包自己百度下载 一大堆,有需要私发的就说声)


第二步:


在项目的src目录下新建一个类(TagLibBooks.java)该类继承SimpleTagSupport


在该类中定义5个字段并封装,表示标签的属性,TagLibBooks.java代码如下:

public class TagLibBooks extends SimpleTagSupport {
    /**
     * 标签的属性
     * */
    private String driver;
    private String url;
    private String user;
    private String password;
    private String sql;
    
    /**
     * 执行数据库的对象
     * */
    private Connection conn = null;
    private Statement stm = null;
    private ResultSet rs = null;
    private ResultSetMetaData rsmd = null;
    
    
    public String getDriver() {
        return driver;
    }


    public void setDriver(String driver) {
        this.driver = driver;
    }


    public String getUrl() {
        return url;
    }


    public void setUrl(String url) {
        this.url = url;
    }


    public String getUser() {
        return user;
    }


    public void setUser(String user) {
        this.user = user;
    }


    public String getPassword() {
        return password;
    }


    public void setPassword(String password) {
        this.password = password;
    }


    public String getSql() {
        return sql;
    }


    public void setSql(String sql) {
        this.sql = sql;
    }


接着在实现该类的doTag()方法:

	public void doTag() throws IOException, JspException {
		try 
		{
			Class.forName(driver);
			conn = DriverManager.getConnection(url,user,password);
			stm = conn.createStatement();
			rs = stm.executeQuery(sql);
			rsmd = rs.getMetaData();
			int count = rsmd.getColumnCount();
			//获取页面输出流
			JspWriter out = getJspContext().getOut();
			//在页面输出表格
			out.write("");
			//遍历结果集
			while(rs.next()) {
				out.write("");
				for(int i=1;i<=count;i++) {
					out.write("");
				}
				out.write("");
			}
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			throw new JspException("自定义标签出错"+e.getMessage());
		} catch (SQLException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
			throw new JspException("自定义标签出错"+e2.getMessage());
		}finally {
			try {
				if(conn != null) {
					conn.close();
				}
				if(rs != null) {
					rs.close();
				}
				if(stm != null) {
					stm.close();
				}
			}catch(SQLException s) {
				s.printStackTrace();
			}
		}
	}

第三步:


在WEB-INF目录下新建一个books.tld文件,代码如下:

    1.0
    TagLibBooks
    /Books
    
    	
    	sql
    	com.sve.books.TagLibBooks
    	empty
    	
    	
    		driver
    		true
    		true
    	
    	
    		url
    		true
    		true
    	
    	
    		user
    		true
    		true
    	
    	
    		password
    		true
    		true
    	
    	
    		sql
    		true
    		true
    	
    


第四步:


新建一个books.jsp页面

在头部加上一条:

<%@ taglib uri="/Books" prefix="b" %>

uri是tld文件上自己写的uri,如果在tld文件没写,该uri就应该是:“WEB-INF/books.tld” ,prefix随便定义:

在body中引用标签:


	


到这就可以发布项目访问页面了,附上效果图:

Eclipse+JSP使用自定义标签库查询出MySQL表中的数据显示在页面_第1张图片



今天的分享就到这里了,是不是有所帮助呢。? 点一下关注随时一起交流问题,我也会经常分享一些知识,一起探讨。

有问题的评论及时解决,尤其是MySQL这方面。谢谢大家!











你可能感兴趣的:(Java,Web)

"); out.write(rs.getString(i)); out.write("