게시글 수정

이시원·2022년 10월 11일
post-thumbnail
  • templates > boardview.html

<h1 th:text="${board.title}">제목입니다.</h1>
<p th:text="${board.content}">내용이 들어갈 부분입니다.</p>
<a th:href="@{/board/delete(id=${board.id})}">글삭제</a>
<a th:href="@{/board/modify/{id}(id = ${board.id})}">수정</a>
  • templates > boardmodify.html

<div class="layout">
    <form method="post" th:action="@{/board/update/{id}(id=${board.id})}">
        <input name="title" th:value="${board.title}" type="text">
        <textarea name="content" th:text="${board.content}"></textarea>
        <button type="submit">수정</button>
    </form>
</div>



특정 게시물의 내용을 수정해서 뿌리기

  • controller > BoardController.java

package com.study.board.controller;

import com.study.board.entity.Board;
import com.study.board.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;

@Controller
public class BoardController {

    @Autowired
    private BoardService boardService;

    @GetMapping("/board/modify/{id}")
    // PathVariable을 통해 {id}에 담긴 id를 integer id에 담아주겠다.
    public String boardModify(@PathVariable("id") Integer id, Model model) {
        model.addAttribute("board", boardService.boardView(id));
        return "boardmodify";
    }

    @PostMapping("/board/update/{id}")
    public String boardUpdate(@PathVariable("id") Integer id, Board board) {

        // 해당 id의 기존의 글을 boardTemp에 담음
        Board boardTemp = boardService.boardView(id);

        // 새로운 내용을 기존의 내용에 덮어씌움
        boardTemp.setTitle(board.getTitle());
        boardTemp.setContent(board.getContent());

        boardService.write(boardTemp);
        return "redirect:/board/list";
    }
}


profile
코딩공부

0개의 댓글