zoukankan      html  css  js  c++  java
  • [BBS] ShowArticleTree.jsp 01 帖子的树形展现-递归 、Session 存 login 否

    BBS - ShowArticleTree.jsp
    <%@ page language="java" contentType="text/html; charset=gbk"
        pageEncoding="gbk"%>
    <%@ page import="java.sql.*"%>
    
    <%
        String admin = (String) session.getAttribute("admin");
        if (admin != null && admin.equals("true")) {
            login = true;
        }
    %>
    
    <%!// 成员属性
        String str = "";
        boolean login = false;
    
        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);
                String strLogin = "";
    
                while (rs.next()) {
                    if (login) {
                        strLogin = "<td><a href='Delete.jsp?id=" + rs.getInt("id")
                                + "&pid=" + rs.getInt("pid") + "'>删除</a>";
                    }
                    str += "<tr><td>" + rs.getInt("id") + "</td><td>" + preStr
                            + "<a href='ShowArticleDetail.jsp?id="
                            + rs.getInt("id") + "'>" + rs.getString("title")
                            + "</a></td>" + strLogin + "</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/bbs?user=root&password=root";
        Connection conn = DriverManager.getConnection(url);
    
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt
                .executeQuery("select * from article where pid = 0");
        String strLogin = "";
        while (rs.next()) {
            if (login) {
                strLogin = "<td><a href='Delete.jsp?id=" + rs.getInt("id")
                        + "&pid=" + rs.getInt("pid") + "'>删除</a></td>";
            }
            str += "<tr><td>" + rs.getInt("id") + "</td><td>"
                    + "<a href='ShowArticleDetail.jsp?id="
                    + rs.getInt("id") + "'>" + rs.getString("title")
                    + "</a></td>" + strLogin + "</tr>";
            if (rs.getInt("isleaf") != 0) {
                tree(conn, rs.getInt("id"), 1);
            }
        }
        rs.close();
        stmt.close();
        conn.close();
    %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk">
    <title>Insert title here</title>
    </head>
    <body>
        <a href="Post.jsp">发表新帖</a>
        <table border="1">
            <%=str%>
            <%
                str = ""; // 恢复变量初始值
                login = false;
            %>
        </table>
    </body>
    
    </html>

  • 相关阅读:
    RestTemplate的异常:Not enough variables available to expand
    WebApplicationContext类的作用
    select动态绑定vue.js
    spring的 @Scheduled的cron表达式
    Spring使用webjar
    ThreadLocal基本原理及运用
    mybatis choose标签的使用
    @RequestBody和@RequestParam区别
    js遍历 for-of
    MySql 模糊查询
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786851.html
Copyright © 2011-2022 走看看