상세 컨텐츠

본문 제목

MVC2 Model 게시판 (CRUD) - 게시글 수정하기 (UPDATE) - (2)

web/게시판 CRUD(생성,수정,삭제, 읽기) - MVC2

by 매일매일 배우는 개발자 2021. 1. 27. 10:37

본문

728x90

수정하기 페이지에서 받아온 게시글 번호를 controller로 넘겨 boardModifyPro.do 부분이 실행되게 한다.

 

update.jsp

<!-- article에 VO객체가 바인딩 되어있다. -->
<c:set var="article" value="${article }" />
<!--수정하기 버튼을 클릭하면 Controller의 boardModifyPro.do 로 넘긴다. -->
<form action="${contextPath }/member/boardModifyPro.do" method="post">

	<table>
		<tr>
			<td>번호  </td>
			<td>
				<input type="text" name="no" value="${article.no }" readonly>
			</td>
		</tr>
		<tr>
			<td>이름  </td>
			<td>
				<input type="text" name="username" placeholder="username" value="">
			</td>
		</tr>
		<tr>
			<td>아이디  </td>
			<td>
				<input type="text" name="id" placeholder="id" value="" />
			</td>
		</tr>			
	</table>
	
	
	<input type="submit" value="수정하기">
	<input type="reset" value="취소하기">		
</form>

 


수정페이지에서 받아온 no,username,id를 VO객체에 세팅한다. 그 이후 Service객체로 값을 넘겨준다.

 

Controller.java

if(action.equals("/boardModifyPro.do")) {
			int no = Integer.parseInt(request.getParameter("no"));
			String username = request.getParameter("username");
			String id = request.getParameter("id");
			
			tistoryVO.setId(id);
			tistoryVO.setNo(no);
			tistoryVO.setUsername(username);
			
			tistoryService.isArticleWriter(tistoryVO);
			
			
			nextPage = "/member/listArticles.do";
		}

 


Controller에서 받아온후 DAO객체와 연결을 해주는 Service

 

Serivce.java

public void isArticleWriter(TistoryVO tistoryVO) {
		tistoryDAO.isModifyBoard(tistoryVO);
		
	}

Service에서 받아온 값을 다시 수정해주는 DAO 메소드

 

DAO

public void isModifyBoard(TistoryVO tistoryVO) {
		
		try {

			conn = DBConnection.getConnection();
			String query = "UPDATE class SET username=?, id=? WHERE no=?";
			pstmt = conn.prepareStatement(query);
			pstmt.setString(1, tistoryVO.getUsername());
			pstmt.setString(2, tistoryVO.getId());
			pstmt.setInt(3, tistoryVO.getNo());
			pstmt.executeUpdate();

		} catch (Exception e) {
			System.out.println("isModifyBoard : " + e);
		} finally {
			freeResource();
		}
		
	}// end of isModifyBoard

 

 

※여기서는 반환값없이 void형을 썻지만, 실제로 ID가 있거나 관리자를 받아서 쓸때는 session 객체를 써서 그 값을 다시 반환하는 구조로 해야한다. 즉, 리턴값을 받아서 써야한다.

 

 

33번 글이 "hsw" 에서 "33" 으로 변환된것을 볼 수 있다.

728x90

관련글 더보기