Board/게시판 만들기(jsp)

게시판 게시글 내용수정하기

호ㅁl 2022. 11. 28. 11:40

location.href = 현재 접속중인 페이지의 경로를 갖고있다.

boardConents의 input 수정버튼에 수정페이지의 가상경로를 입력한다.

목록버튼에도 목록리스트로 돌아가는 경로를 입력해주면 클릭시 목록리스트로 이동한다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import= "domain.BoardVo" %>
<%
BoardVo bv = (BoardVo)request.getAttribute("bv");
%>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시글 수정하기</title>

<script type = "text/javascript">
function check(){
	var fm = document.frm;
	
	if(fm.subject.value == ""){
		alert("제목을 입력해주세요.");
		fm.subject.focus();
		return;
	}else if(fm.contents.value == ""){
		alert("내용을 입력해주세요.");
		fm.contents.focus();
		return;
	}else if(fm.writer.value == ""){
		alert("작성자를 입력해주세요.");
		fm.writer.focus();
		return;
	}
	
	//가상경로 지정
	fm.action = "<%=request.getContextPath() %>/board/boardModifyAction.do"; 
	fm.method = "post"; //감춰져서 넘기는 방식 Post
	fm.submit();
	return;
}
</script>

<style>
p{font-weight:bold; font-size:25px; margin-left:10px;}
input[name = content]{width:500px; height:800px;}
textarea{resize:none;}
</style>
</head>
<body>

<p>게시글 수정하기</p>

<form name = "frm">
<table border=1>

<tr>
<td>제목</td>
<td>
<input type = "text" name = "subject" value="<%=bv.getSubject() %>">
</td>
</tr>

<tr>
<td>내용</td>
<td>
<textarea rows = "40" cols = "80" name = "contents">
<%=bv.getContents() %>
</textarea>
</td>
</tr>

<tr>
<td>작성자</td>
<td>
<input type = "text" name = "writer" value="<%=bv.getWriter() %>">
</td>
</tr>

<tr>
<td id="btn" colspan=2 style="text-align:right">
<input type = "button" value = "확인" onclick ="check();">
</td>
</tr>

</table>
</form>

</body>
</html>

 

boardModify.jsp파일을 만들어 실제경로를 만들어준다.

 

 

boardController에서 boardModify페이지를 띄우고

 BoardDao의 boardSelectOne메소드를 이용하여 수정하고자하는 내용을 가져온다. 

 

 

 

Dao 의 뜻

Date Access Object 의 약자로 데이터베이스의 데이터에 접근을 하기위해 생성하는 객체이다.

DB에 접속하여 CRUD(생성, 조회, 수정, 삭제)작업을 하는 클래스

 

 

 

그리고 수정해야할 내용을 input의 value값으로 넣어준다.

 

 

게시글의 수정버튼을 클릭하면 

수정할 내용과 함께 화면에 출력된다.

 

 

 

boardModify에서 수정하는 게시글의 번호값을 넘기기위해 input태그를 작성하여 값으로 bidx를 받게한다.

쿼리에 수정을 하기위해 bidx의 값을 넘기는것

 

'input type=hidden'는 사용자에게 보이지않는 숨겨진 입력필드이다.

업데이트되어야하는 데이터베이스 레코드를 저장할 때 많이 사용된다.

 

 

boardDao에서 업데이트구문이 들어있는 메소드를 생성한다.

업데이트가 된 내용이 반환된다.

 

 

BoardController에서 수정이 된 내용을 넘긴다.

 

 

13번 글의 수정내용이 데이터에 업데이트되었음을 확인할 수 있다.

 

 

javastudy0919.zip
3.36MB

오늘 수업으로 수정된 소스코드