
한코딩 게시판 무작정 따라하기 게시글 상세 페이지 ~ 파일 업로드까지 따라하고 작성한다.
우선, boardview.html을 만들어준다. //이 html은 화면에 나올 부분이다.
그리고 BoardController.java에 가서 @getMapping으로 ("/board/view")를 만든다.
return "boardview";<-방금만든 boardview.html를 리턴한다.

BoardSevice.java에서

BoardController.java에서

@RequestParam("id")안하면 오류
boardview.html에서 thymeleaf 사용 시작

boardlist.html



1.BoardSevice.java에서 boardDelete를 메소드를 생성한다.
2.BoardController.java에서 @getmapping한다.


1.boardmodify.html을 만든다.->boardwrite.html을 복붙한다.
2.boardview.html에서 body부분에 a태그로 추가->"<th:href="@{/board/modify/{id}(id = ${board.id})}">수정"
3.BoardController.java에서 @getmapping한다.(여기서 @PathVariable를 사용)
****@PostMapping("/board/update/{id}")
public String boardUpdate(@PathVariable ("id") Integer id, Board board){
Board boardTemp = boardService.boardview(id);
boardTemp.setTitle(board.getTitle());
boardTemp.setContent(board.getContent());
boardService.write(boardTemp);
return "redirect:/board/list";
}****
4.데이터가 담겨져 옮겨와서 수정할 수 있게 하고 적용되게 한다.->boardmodify.html에서

1.message.html을 만든다

2.BoardController.java를 수정한다.
****@PostMapping("/board/writedo")
public String boardWritedo(Board board, Model model) {
boardService.write(board);
model.addAttribute("message","글 작성이 완료되었습니다.");
model.addAttribute("searchUrl","/board/list");
return "message";
}****


1.mariaDB에서 테이블 board 수정

2.entity의 Board.java에서
private String filename;
private String filepath;
추가
3.boardwrite.html의 body수정

4.static밑의 files 디렉토리 생성
5.BoardService.java에서 write 메소드를 변경한다.

6.BoardController.java를 수정한다.
**** @PostMapping("/board/writedo")
public String boardWritedo(Board board, Model model,@RequestParam("file") MultipartFile file) throws Exception {
boardService.write(board,file);
model.addAttribute("message","글 작성이 완료되었습니다.");
model.addAttribute("searchUrl","/board/list");
return "message";
}****
**** @PostMapping("/board/update/{id}")
public String boardUpdate(@PathVariable ("id") Integer id, Board board,@RequestParam("file") MultipartFile file)throws Exception{
Board boardTemp = boardService.boardview(id);
boardTemp.setTitle(board.getTitle());
boardTemp.setContent(board.getContent());
boardService.write(boardTemp, file);
return "redirect:/board/list";
}****
7.오류가 발생하면 debug를 실행한다.


🔥 Study :~파일업로드까지 수행
❓ Problem :중간에 어노테이션을 영상과 버전이 달라서 그런건지 뭔지 내가 붙여줘야 하는 게 많아서 오류날 때마다 많이 돌아다님.
🚀 Try : 구조를 더 알아봐야겠다
🤔 Question : UUID를 좀 더 알아보고 싶다. CDATA도 뭐였는지 제대로 이해를 못해서 궁금하다
어노테이션 오류 해결한다고 너무너무 고생하셨어요 ㅠㅠㅠㅠㅠㅠ