본문 바로가기

JSP/BBS 04

BBS 04

board 테이블의 글을 미리 30줄 정도 입력해 놓은 상태에서 이 파일을 테스트한다. BBS 03과 동일하며 테이블을 board 로 수정함에 따라 필드명들도 수정했다.

<%@ page language="java" contentType="text/html; charset=EUC-KR"%>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>
<%
 Context initCtx = new InitialContext();
 DataSource ds =  (DataSource)initCtx.lookup("java:comp/env/jdbc/myoracle");
 Connection conn = ds.getConnection(); 

 String sql = "select LEVEL, subject, writer, reg_date from board ";
 sql += "START WITH ref=0 CONNECT BY PRIOR num=ref ";
 sql += "ORDER SIBLINGS BY num asc";

 PreparedStatement pstmt = conn.prepareStatement(sql);
 ResultSet rs = pstmt.executeQuery();
%>
<html>
<head><title>계층구조로 출력하기 04</title>
<style type="text/css">
TABLE {
 font-size:70%;
}
</style>
</head>
<body><p><center> 계층구조로 출력하기 연습
<hr width=70%>
<table border=0 cellspacing=0 cellpadding=3>
<%
 while(rs.next()){ %>
  <tr>
  <%
   int level = rs.getInt("LEVEL")*4;
   String nbsp = "";
   for(int i=0;i<level;i++) {
    nbsp += "&nbsp;";
   }
  %>
  <td align=left><%=nbsp+rs.getString("SUBJECT")%></td>
  <td align=left><%=rs.getString("WRITER")%></td>
  <td align=left><%=rs.getString("REG_DATE")%> </td>
  </tr>
<%}
 rs.close();
 pstmt.close();
 conn.close();
%>
</table>
</center>
</body>
</html>