bbs_detail.jsp 수정
게시글 수정을 위해 게시글 상세 페이지에 버튼을 추가합니다.
기존 테이블 하단에 새로운 행을 생성하고 버튼을 추가해줍니다
<table width=80% height=500px border=1 align=center>
<tr height=30px>
<td align="center" colspan="1">제목</td>
<td align="center" colspan="3"><c:out value="${detail.bbs_title}"/></td>
</tr>
<tr>
<td align="center" width=25%>작성자</td>
<td align="center" width=25%><c:out value="${detail.author}"/></td>
<td align="center" width=25%>작성일</td>
<td align="center" width=25%><c:out value="${detail.date}"/></td>
</tr>
<tr>
<td align="center" colspan="4">내 용</td>
</tr>
<tr height = 500px>
<td colspan="4"><c:out value="${detail.bbs_content}"/></td>
</tr>
<tr>
<td colspan="2">
<button onclick="location.href='/app/bbs/edit/${detail.bbs_id}';">수정</button>
</td>
<td colspan="2">
<button>삭제</button>
</td>
</tr>
</table>
수정을 위한 bbs_edit.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>
</head>
<body>
<form method="post" action="/app/EditAct">
<table>
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>글쓰기</td>
</tr>
</table>
<table>
<tr>
<td> </td>
<td align="center">제목</td>
<td><input name="bbs_title" size="50" maxlength="100" value="<c:out value="${detail.bbs_title}"/>"></td>
<td> </td>
</tr>
<tr height="1">
<td colspan="4"></td>
</tr>
<tr>
<td> </td>
<td align="center">내용</td>
<td><textarea name="bbs_content" cols="50" rows="13"><c:out value="${detail.bbs_content}"/></textarea></td>
<td> </td>
</tr>
<tr height="1">
<td colspan="4"></td>
</tr>
<tr height="1">
<td colspan="4"></td>
</tr>
<tr align="center">
<td> </td>
<td colspan="2"><input type="submit" value="수정">
<td> </td>
</tr>
<input type="hidden" name="bbs_id" value="<c:out value="${detail.bbs_id}"/>">
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
위 코드는 게시글 보기 페이지 구현을 할때 사용한 jstl을 이용하여 구성하였습니다.
컨트롤러에서 model Attribute로 심어준 데이터를 html상에서 뿌려주는 역할을 합니다.
Dao/BbsDao.java 와 BDao.java 수정
BbsDao와 BDao에 수정을 위한 메소드 Edit을 추가해줍니다.
BDao
public interface BDao {
public void Write(Map map);
public ArrayList<BbsDto> list();
public BbsDto detail(String bbs_id);
public void Edit(Map map);
}
BbsDao
public void Edit(Map map) {
// TODO Auto-generated method stub
}
mapper/BDao.xml 수정
BDao.xml에 UPDATE 쿼리를 등록합니다.
<update id="Edit">
UPDATE bbs
SET
bbs_title = #{bbs_title},
bbs_content = #{bbs_content}
WHERE bbs_id = #{bbs_id}
</update>
BbsController 수정
bbsController에 이전 포스트에서 사용했던 PathVariable을 이용하여 수정 페이지에 접속하는 매핑 메소드를 생성해줍니다.
@RequestMapping("/bbs/edit/{bbs_id}")
public String bbs_edit(@PathVariable String bbs_id, Model model) {
BDao dao = sqlSession.getMapper(BDao.class);
BbsDto detail = dao.detail(bbs_id);
model.addAttribute("detail", detail);
return "bbs_edit";
}
게시글의 수정이 이루어지는 메소드 입니다
@ResponseBody
@RequestMapping("/EditAct")
public String EditAct(HttpSession session, HttpServletRequest request) throws UnsupportedEncodingException {
request.setCharacterEncoding("utf-8");
Map map = new HashMap();
map.put("bbs_title", request.getParameter("bbs_title"));
map.put("bbs_content", request.getParameter("bbs_content"));
map.put("bbs_id", request.getParameter("bbs_id"));
BDao dao = sqlSession.getMapper(BDao.class);
dao.Edit(map);
String str="<script>";
str+="location.href='/app/bbs/';";
str+="</script>";
return str;
}
위와 같이 작성하고 직접 접속하여 확인해보면 잘 수정되는 것을 볼 수 있습니다.
'WEB > Spring' 카테고리의 다른 글
12) Spring - 게시글 삭제 (0) | 2019.11.19 |
---|---|
10) Spring - 게시글 보기 구현 (0) | 2019.11.01 |
9) Spring - 게시글 목록 구현 (0) | 2019.11.01 |
8) Spring - 게시판 글쓰기 구현 (0) | 2019.10.12 |
7) Spring - 로그아웃 (0) | 2019.10.12 |