728x90
원본 영상 링크:
https://www.youtube.com/watch?v=Y7S1xXsKy_w&list=PLZzruF3-_clsWF2aULPsUPomgolJ-idGJ&index=8
처리 메세지 출력
templates > message.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<!--메세지띄우기1-->
<script th:inline="javascript">
var message = [[${message}]];
alert(message);
location.replace([[${searchUrl}]]);
</script>
<body>
</body>
</html>
메세지 띄우는 script 파일 만들고,
controller > BoardController.java
package com.example.demo.contoller;
import com.example.demo.entity.testboard;
import com.example.demo.service.BoardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/*shift + f10 재실행*/
@Controller
public class BoardContoller {
@Autowired
private BoardService boardService;
@GetMapping("/board/write") //어떤 url로 접근할 것인지 정해주는 어노테이션 //localhost:8080/board/write
public String boardWriteForm() {
return "boardwrite";
}
@PostMapping("/board/writepro")
public String boardWritePro(testboard board, Model model){
boardService.write(board);
//메세지띄우기2
model.addAttribute("message","글작성이 완료되었습니다");
model.addAttribute("searchUrl","/board/list");
return "message";
}
@GetMapping("/board/list")
public String boardList(Model model){
//BoardService에서 만들어준 boardList가 반환되는데, list라는 이름으로 받아서 넘기겠다는 뜻
model.addAttribute("list" , boardService.boardList()); //4번
return "boardList";
}
@GetMapping("/board/view") //localhost:8080/board/view?id=1 //(get방식 파라미터)
public String boardView(Model model, Integer id){
model.addAttribute("testboard", boardService.boardview(id));
return "boardview";
}
@GetMapping("/board/delete")
public String boardDelete(Integer id){
boardService.boardDelete(id);
//게시물삭제하고 게시물리스트로 넘어가야하므로
return "redirect:/board/list";
}
//PathVariable이라는 것은 modify 뒤에있는 {id}부분이 인식이되서 Integer형태의 id로 들어온다는것
@GetMapping("/board/modify/{id}")
public String boardModify(@PathVariable("id") Integer id, Model model){
//상세페이지에 있는 내용과, 수정페이지의 내용이 같기때문에 위 코드와 같은 것을 확인할수있다
model.addAttribute("testboard", boardService.boardview(id));
return "boardmodify";
}
@PostMapping("/board/update/{id}")
public String boardUpdate(@PathVariable("id") Integer id, testboard board){
//기존에있던글이 담겨져서온다.
testboard boardTemp = boardService.boardview(id);
//기존에있던 내용을 새로운 내용으로 덮어씌운다.
boardTemp.setTitle(board.getTitle());
boardTemp.setContent(board.getContent());
boardService.write(boardTemp); //추가 → 수정한내용을 boardService의 write부분에 넣기
return "redirect:/board/list";
}
}
@PostMapping("/board/writepro")
public String boardWritePro(testboard board, Model model){
boardService.write(board);
model.addAttribute("message","글작성이 완료되었습니다");
model.addAttribute("searchUrl","/board/list");
return "message"; }
@PostMapping("/board/writepro") 수정하기
글 입력 후 알람이 뜨는 것을 확인할수있다.
자, 이제 스스로 글작성이 실패되었을 경우도 작성해보자.
728x90
'STUDY > SpringBoot' 카테고리의 다른 글
[Springboot] 게시판따라하기(6) - 게시판 파일업로드 ✔정리 (0) | 2022.08.10 |
---|---|
[StringBoot] Thymeleaf 사용법 정리✔ (0) | 2022.08.10 |
[Springboot] 게시판따라하기(4) - 게시글 삭제·수정 ✔정리 (0) | 2022.08.09 |
[Springboot] 게시판따라하기(3) - 게시글 상세페이지 ✔정리 (0) | 2022.08.09 |
[Springboot] 게시판따라하기(2) - 게시글 리스트 ✔정리 (0) | 2022.08.09 |