Spring CRUD(8) UPDATE

Happy_JG·2023년 10월 20일
0

Spring CRUD

목록 보기
8/8

UPDATE

게시글을 수정하는 기능을 만들어보자.

../boardUpdateForm.do/${vo.idx}로 url요청을 보내고 있다. Board Controller에서 응답을 하자.

Board Controller

게시글을 수정할 수 있도록 수정폼을 제공한다. 이렇게 한 이유는 사용자가 게시글을 작성한 상태에서 바로 수정할 수 있다. 그렇지 않으면 사용자는 맨 처음부터 게시글을 다시 작성해야 한다.

boardMapper.xml파일이다.

boardUpdateForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
	<div class="container">
	  <h2>project01</h2>
	  <div class="panel panel-default">
	    <div class="panel-heading">Board</div>
	    <div class="panel-body">
	    <form action = "../boardUpdate.do" method ="post"> <!-- 내가입력한 모든값이 여기로 이동 -->
    
	    <input type = "hidden" name = "idx" value = "${vo.idx}"> <!-- 뭔가 값을 넣어줘야 될때 히든을 많이씀 -->
	    	<table class = "table">
	    		<tr>
	    			<td>제목</td>
	    			<td><input value="${vo.title}" type = "text" name = "title" class ="form-control"></td>
	    		</tr>
	    		<tr>
	    			<td>내용</td>
	    			<td><textarea class ="form-control" name = "content" rows="7" cols=""></textarea></td>
	    		</tr>
	    		<tr>
	    			<td>작성자</td>
	    			<td><input valud="${vo.writer }" type = "text" name = "writer" class ="form-control"></td>
	    		</tr>
	    		<tr>
	    			<td colspan ="2" align="center">
	    				<button class="btn btn-success btn-sm" type = "submit">등록</button>
	    				<button class="btn btn-warning btn-sm" type = "reset">취소</button> <!-- 컨트롤+알트 아래화살표하면 복사됨 -->
	    				<a href ="boardList.do" class="btn btn-info btn-sm">목록</a> <!-- 컨트롤+알트 아래화살표하면 복사됨 -->
	    			</td>	
	    		</tr>
	    	</table>
	    </form>
	    </div>
	    <div class="panel-footer">Board</div>
	  </div>
	</div>
</body>
</html>

<input>태그에 value속성을 이용해 사용자가 전에 입력했던 제목, 내용, 작성자를 화면에 그대로 띄어줄 수 있도록 한다. 여기서 <textarea>태그는 value속성을 이용할 수 없기 때문에 태그 사이에 내용을 작성한다.

전에 사용자가 입력했던 내용이 그대로 출력된다. 등록을 누르게되면 게시글이 수정되도록 해보자.

기존의 게시글 생성기능과 똑같다.

boardMapper 인터페이스 파일이다.

boardMapper.xml 파일이다. 업데이트까지 완성하였다.

profile
hello!

0개의 댓글