基础JSP:蚂蚁大战大象

 树状展现(递归调用),代码如下:

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2021-01-20
  Time: 18:39
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>


<!--%!表示方法的定义或者是方法的声明-->
<%!
    String str = "";//作用:把tree方法里面的内容写到字符串上,再把字符串输出到页面上
    private void tree(Connection conn, int id, int level) {
        Statement stmt = null;
        ResultSet rs = null;

        String preStr = "";
        for(int i=0; i<level; i++) {
            preStr += "****";
        }
        try {
            stmt = conn.createStatement();
            String sql = "select * from article where pid = " + id;
            rs = stmt.executeQuery(sql);


            while(rs.next()) {
                str += "<tr><td>" + rs.getInt("id") + "</td><td>" +
                        preStr + rs.getString("title") + "</td></tr>";
                //if(rs.getInt("isleaf") != 0) {
                    tree(conn, rs.getInt("id"), level+1);
                //}
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if(rs != null) {
                    rs.close();
                    rs = null;
                }
                if(stmt != null) {
                    stmt.close();
                    stmt = null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
%>

<%
    Class.forName("com.mysql.jdbc.Driver");//加载
    String url = "jdbc:mysql://localhost:3306/bbs?&serverTimezone=Asia/Shanghai";//地址
    Connection conn = DriverManager.getConnection(url,"root","123456");//链接

    Statement stmt = conn.createStatement();//创建stmt对象并链接
    ResultSet rs = stmt.executeQuery("select * from article where pid = 0");//执行sql语句主贴:蚂蚁大战大象

    /*tr:行,td:列
    * 一行俩列:一列数字、一列文字
    * 第一个表格 + 蚂蚁大战大象,然后跳转到tree
    * */
    while(rs.next()) {
        str += "<tr><td>" + rs.getInt("id") + "</td><td>" +
                rs.getString("title")  + "</td></tr>";
        //if(rs.getInt("isleaf") != 0) {
            tree(conn, rs.getInt("id"), 1);
        //}
    }
    rs.close();
    stmt.close();
    conn.close();
%>

<html>
<head>
    <title>标题</title>
</head>
<body>
<table border="1">
    <%= str %>
<%
    str = "";
%>
</table>
</body>
</html>

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值