반응형
게시판 글쓰기 기능
글 등록하기
reviewController.java
// 게시판 글쓰기 기능
@GetMapping("/write")
public String writeform() throws Exception{
return "/writeform";
}
@PostMapping("insert")
public String insertreview(reviewVo reviewvo) throws Exception{
boolean result = reviewservice.insertreview(reviewvo);
if (result) {
return "success";
} else {
return "error";
}
}
reviewMapper.xml
<!-- 게시판 글쓰기 기능 -->
<insert id="insertreview">
insert into reviewTable(reTitle, reContent, reUser) values(#{reTitle}, #{reContent}, #{reUser})
</insert>
reviewmapper.java
// 문의 글 쓰기
public boolean insertreview(reviewVo reviewvo) throws Exception;
reviewService.java
// 게시글 작성
public boolean insertreview(reviewVo reviewvo) throws Exception {
return reviewmapper.insertreview(reviewvo);
}
writeform.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
** 글쓰기 **
<form action="insert" method="post">
글제목: <input type="text" name="reTitle"><br>
작성자: <input type="text" name="reUser"><br>
글내용: <textarea rows="5" cols="30" name="reContent"></textarea>
<br><br>
<input type="submit" value="저장">
</form>
</body>
</html>
게시글 상세보기
글 제목을 누르면 해당하는 글 번호의 내용을 상세보기로 출력 시켜주도록 하는 방법입니다.
list.jsp의 내용을 변경
<td><a href="detailreview?reNum=${item.reNum}">${item.reTitle}</a></td>
reviewService.java 추가
// 게시글 상세보기
public reviewVo detail(Integer reNum) throws Exception {
return reviewmapper.detail(reNum);
}
reviewController.java 내용 추가
// 게시글 자세히보기
@RequestMapping(value="/detailreview")
public ModelAndView detail(@RequestParam("reNum") int reNum) throws Exception {
//
return new ModelAndView("detail","detail",reviewservice.detail(reNum));
}
reviewmapper.java 내용 추가
// 문의글 상세 보기
public reviewVo detail(Integer reNum) throws Exception;
reviewMapper.xml 내용 추가
<!-- 게시글 상세보기 -->
<select id="detail" resultType="reviewVo">
select * from reviewTable where reNum = #{reNum}
</select>
detail.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
window.onload = function() {
document.getElementById("btnList").onclick = function() {
location.href="/";
}
document.getElementById("btnUpdate").onclick = function() {
if(confirm("정말수정할까요")) {
frm.action="/updatereview";
frm.submit();
}
}
document.getElementById("btnDelete").onclick = function() {
if(confirm("정말 삭제할까요?")) {
frm.action="deletereview";
frm.submit();
}
}
}
</script>
</head>
<body>
** 상세보기 **
<br>
<form name="frm" method="get">
<table border="2">
<tr>
<td>번호</td>
<td>${detail1.reNum}</td>
<input type="hidden" value="${detail1.reNum}" name="reNum">
</tr>
<tr>
<td>작성자</td>
<td>${detail1.reUser}</td>
</tr>
<tr>
<td>제목</td>
<td>${detail1.reTitle}</td>
</tr>
<tr>
<td>글내용</td>
<td>${detail1.reUser}</td>
</tr>
</tr>
<tr>
<td>작성일</td>
<td>${detail1.reregisterDate}</td>
</tr>
<tr>
<td>조회수</td>
<td>${detail1.reCnt}</td>
</tr>
<tr colspan="3">
<td>
<input type="button" value="목록" id="btnList">
<input type="button" value="수정" id="btnUpdate">
<input type="button" value="삭제" id="btnDelete">
</td>
</tr>
</table>
</form>
</body>
</html>
글을 눌렀을때 나오는 결과 페이지
글 수정하기
우선 상세보기에 사용하였던 메소드를 수정할 jsp 폼에 불러옵니다.
reviewController.java
@GetMapping("/updatereview")
// 여기서 RequestParam("num")은 detail.jsp에서 input 값의 reNum
public ModelAndView update(@RequestParam("reNum") String reNum) throws Exception {
return new ModelAndView("upform","up",reviewservice.detail(reNum));
}
upform.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
window.onload = function() {
document.getElementById("btnUpdate").onclick = function() {
if(confirm("정말수정할까요")) {
frm.action="updatereviewcommit";
frm.submit();
}
}
}
</script>
</head>
<body>
** 수정하기 **
<br>
<form name="frm" method="post">
<table border="2">
<tr>
<td>번호</td>
<td>${up.reNum}</td>
<input type="hidden" value="${up.reNum}" name="reNum">
</tr>
<tr>
<td>작성자</td>
<td>${up.reUser}</td>
</tr>
<tr>
<td>제목</td>
<td><input type="text" value="${up.reTitle}" name="reTitle"></td>
</tr>
<tr>
<td>글내용</td>
<td><textarea rows="5" cols="50" name="reContent">${up.reContent}</textarea></td>
</tr>
</tr>
<tr>
<td>작성일</td>
<td>${up.reregisterDate}</td>
</tr>
<tr>
<td>조회수</td>
<td>${up.reCnt}</td>
</tr>
<tr colspan="3">
<td colspan="3">
<input type="button" value="수정" id="btnUpdate" style="margin: auto; width: 100%;">
</td>
</tr>
</table>
</form>
</body>
</html>
여기서 제목과 내용을 수정 후 수정하기 버튼을 클릭 하면
reviewMapper.xml
// 문의글 수정하기
int updatereview(reviewVo vo) throws Exception;
reviewmapper.java
// 문의글 수정하기
int updatereview(reviewVo vo) throws Exception;
reviewService.java
// 게시글 수정하기
public int updatereview(reviewVo vo) throws Exception {
return reviewmapper.updatereview(vo);
}
reviewController.java
@PostMapping("/updatereviewcommit")
public String updatesubmit(reviewVo vo) throws Exception {
int result = reviewservice.updatereview(vo);
System.out.println("result " + result);
if ( result > 0 )
return "redirect:/";
else
return "error";
}
현재 10번 글을 수정해보겠습니다.
글 삭제하기
reviewMapper.xml
<!-- 글 삭제하기 -->
<delete id="deletereview">
delete from reviewTable where reNum = #{reNum}
</delete>
reviewmapper.java
// 게시글 삭제하기
public int deletereview(String num) throws Exception;
reviewService.java
// 게시글 삭제하기
public int deletereview(String num) throws Exception {
// TODO Auto-generated method stub
return reviewmapper.deletereview(num);
}
reviewController.java
// 게시글 삭제하기
@GetMapping("/deletereview")
public String del(@RequestParam("reNum") String num) throws Exception {
int delresult = reviewservice.deletereview(num);
if(delresult > 0 )
return "redirect:/";
else
return "error";
}
현재 글이 10번까지 있는 것을 확인 할 수 있습니다.
10번 글을 지우도록 하겠습니다.
삭제가 정상적으로 된 것을 볼 수 있습니다.
반응형
'Spring > Spring 게시판 만들기' 카테고리의 다른 글
[Spring] 개인 게시판 만들기 (5) - 게시판 글 검색 (0) | 2020.12.28 |
---|---|
[Spring] 개인 게시판 만들기 (4) - 게시판 글 조회수 증가 (0) | 2020.12.28 |
[Spring] 개인 게시판 만들기 (3) - DB 생성, Mybatis 설정 후 웹 출력 (0) | 2020.12.19 |
[Spring] 개인 게시판 만들기 (2) - STS 이용 프로젝트 환경 설정, DB연동 (0) | 2020.12.17 |