게시판 글을 읽다가 답글을 쓰려는 이용자가 답글쓰기 링크를 클릭하면 글쓰기 페이지(boardWrite.jsp)로 이동할 수 있게 하였다.
showContents02.jsp
boardWrite.jsp
전달된 글번호를 이용하여 데이터베이스에서 글 제목을 가져온 후에 폼에 출력해 준다.
showContents02.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"%>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>
<%
int num = Integer.parseInt(request.getParameter("num"));
Context initCtx = new InitialContext();
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/myoracle");
Connection conn = ds.getConnection();
String sql = "select num, writer, subject, content, reg_date from board where num=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, num);
ResultSet rs = pstmt.executeQuery();
%>
<html>
<head><title>게시판 글읽기 페이지</title>
<style type="text/css">
TABLE {
font-size:70%;
}
A {
text-decoration:none;
}
</style>
</head>
<body><p><center> 계층구조로 출력하기 연습
<hr width=70%>
<table border=1 cellspacing=0 cellpadding=5 width=500>
<%
if(rs.next()){
num = rs.getInt("num");
%>
<tr><th>글번호</th><th>작성자</th><th>제 목</th><th>작성일자</th></tr>
<tr>
<td align=center><%=num%></td>
<td align=center><%=rs.getString("writer")%></td>
<td align=center><%=rs.getString("subject")%></td>
<td align=center><%=rs.getString("reg_date")%></td>
</tr>
<tr>
<td colspan=4><%=rs.getString("content")%></td>
</tr>
<%}
rs.close();
pstmt.close();
conn.close();
%>
<tr>
<td align=center colspan=4><a href="boardWrite.jsp?ref=<%=num%>">답글쓰기</a>
</td>
</tr>
</table>
</center>
</body>
</html>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>
<%
int num = Integer.parseInt(request.getParameter("num"));
Context initCtx = new InitialContext();
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/myoracle");
Connection conn = ds.getConnection();
String sql = "select num, writer, subject, content, reg_date from board where num=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, num);
ResultSet rs = pstmt.executeQuery();
%>
<html>
<head><title>게시판 글읽기 페이지</title>
<style type="text/css">
TABLE {
font-size:70%;
}
A {
text-decoration:none;
}
</style>
</head>
<body><p><center> 계층구조로 출력하기 연습
<hr width=70%>
<table border=1 cellspacing=0 cellpadding=5 width=500>
<%
if(rs.next()){
num = rs.getInt("num");
%>
<tr><th>글번호</th><th>작성자</th><th>제 목</th><th>작성일자</th></tr>
<tr>
<td align=center><%=num%></td>
<td align=center><%=rs.getString("writer")%></td>
<td align=center><%=rs.getString("subject")%></td>
<td align=center><%=rs.getString("reg_date")%></td>
</tr>
<tr>
<td colspan=4><%=rs.getString("content")%></td>
</tr>
<%}
rs.close();
pstmt.close();
conn.close();
%>
<tr>
<td align=center colspan=4><a href="boardWrite.jsp?ref=<%=num%>">답글쓰기</a>
</td>
</tr>
</table>
</center>
</body>
</html>
boardWrite.jsp
전달된 글번호를 이용하여 데이터베이스에서 글 제목을 가져온 후에 폼에 출력해 준다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"%>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>
<%
String num = request.getParameter("ref");
String subject = "";
if(num!=null && !num.equals("")) {
Context initCtx = new InitialContext();
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/myoracle");
Connection conn = ds.getConnection();
String sql = "select subject from board where num=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, Integer.parseInt(num));
ResultSet rs = pstmt.executeQuery();
if(rs.next()) subject = "RE:"+rs.getString("SUBJECT");
rs.close();
pstmt.close();
conn.close();
}else num="0";
%>
<html>
<head>
<title>게시판 글쓰기</title>
<style type="text/css">
A {
text-decoration:none;
}
.textbox { border:1px solid; }
.textarea { border:1px solid; width=300; height:200; }
</style>
</head>
<body><p><center>
글을 작성하신 후에 저장버튼을 클릭해 주세요
<hr width=70%>
<form action="writeProc.jsp" method="post">
<input type="hidden" name="ref" value="<%=num%>">
<table border=1 bgcolor=orange><tr><td>
<table border=0 cellpadding=5 bgcolor=orange style=" font-size:70%">
<tr><td>작성자</td><td><input class="textbox" style="width:100px" type="text" name="writer" value="장수정"></td></tr>
<tr><td>비밀번호</td><td><input class="textbox" style="width:150px" type="password" name="pass" value="1111"></td></tr>
<tr><td>E-Mail</td><td><input class="textbox" style="width:200px" type="text" name="email" value="hello@korea.com"></td></tr>
<tr><td>제 목</td><td><input class="textbox" style="width:250px" type="text" name="subject" value="<%=subject%>"></td></tr>
<tr><td>내 용</td><td><textarea class="textarea" name="content"></textarea></td></tr>
<tr><td colspan=2 align=center><input type="submit" value="저 장"> <input type="reset" value="취 소"></td></tr>
</table>
</td></tr></table>
</form>
</center>
</body>
</html>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>
<%
String num = request.getParameter("ref");
String subject = "";
if(num!=null && !num.equals("")) {
Context initCtx = new InitialContext();
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/myoracle");
Connection conn = ds.getConnection();
String sql = "select subject from board where num=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, Integer.parseInt(num));
ResultSet rs = pstmt.executeQuery();
if(rs.next()) subject = "RE:"+rs.getString("SUBJECT");
rs.close();
pstmt.close();
conn.close();
}else num="0";
%>
<html>
<head>
<title>게시판 글쓰기</title>
<style type="text/css">
A {
text-decoration:none;
}
.textbox { border:1px solid; }
.textarea { border:1px solid; width=300; height:200; }
</style>
</head>
<body><p><center>
글을 작성하신 후에 저장버튼을 클릭해 주세요
<hr width=70%>
<form action="writeProc.jsp" method="post">
<input type="hidden" name="ref" value="<%=num%>">
<table border=1 bgcolor=orange><tr><td>
<table border=0 cellpadding=5 bgcolor=orange style=" font-size:70%">
<tr><td>작성자</td><td><input class="textbox" style="width:100px" type="text" name="writer" value="장수정"></td></tr>
<tr><td>비밀번호</td><td><input class="textbox" style="width:150px" type="password" name="pass" value="1111"></td></tr>
<tr><td>E-Mail</td><td><input class="textbox" style="width:200px" type="text" name="email" value="hello@korea.com"></td></tr>
<tr><td>제 목</td><td><input class="textbox" style="width:250px" type="text" name="subject" value="<%=subject%>"></td></tr>
<tr><td>내 용</td><td><textarea class="textarea" name="content"></textarea></td></tr>
<tr><td colspan=2 align=center><input type="submit" value="저 장"> <input type="reset" value="취 소"></td></tr>
</table>
</td></tr></table>
</form>
</center>
</body>
</html>