한코딩 게시판 무작정 따라하기 게시글 상세 페이지 ~ 파일 업로드까지 따라하고 작성한다.

게시글 상세 페이지

우선, 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도 뭐였는지 제대로 이해를 못해서 궁금하다

profile
달달고구마

2개의 댓글

comment-user-thumbnail
2025년 5월 3일

어노테이션 오류 해결한다고 너무너무 고생하셨어요 ㅠㅠㅠㅠㅠㅠ

답글 달기
comment-user-thumbnail
2025년 5월 3일

저도 버전이 달라 지금까지 어려웠던게 많았네요 어노테이션 오류 해결하셔서 다행이네요 !!

답글 달기