• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Spring 게시판 수정 부분 수정이 안되고 add 기능처럼 동작해요

수정 부분 수정이 안되고 add 기능처럼 동작해요

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #121021

    양현빈
    참가자
    package com.apple.shop;
    import lombok.RequiredArgsConstructor;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.*;
    import java.util.Optional;
    @Controller
    @RequiredArgsConstructor
    public class ItemController {
        private final ItemRepository itemRepository;
        private final ItemService itemService;
        @GetMapping("/list")
        String list(Model model){
           itemService.getList(model);
           return "list.html";
        }
        @GetMapping("/write")
        String write(Model model){
            return "write.html";
        }
        @PostMapping("/add")
        String addPost(String title, Integer price){
            itemService.saveItem(title,price);
            return "redirect:/list";
        }
        @GetMapping("/modify/{id}")
        String modify(Model model, @PathVariable Long id ){
            Optional<Item> result = itemRepository.findById(id);
            if(result.isPresent() ){
                model.addAttribute("data",result.get());
                return "modify.html";
            }else {
                return "redirect:/list";
            }
        }
        @PostMapping("/modify")
        String modifyPost(String title,  Integer price, Long id) {
            Item item = new Item();
            item.setId(id);
            item.setTitle(title);
            item.setPrice(price);
            itemRepository.save(item);
            return "redirect:/list";
        }
        @GetMapping("/detail/{id}")
        String detail(@PathVariable Long id, Model model){
            Optional<Item> result =  itemRepository.findById(id);
            if( result.isPresent() ){
                System.out.println(result.get());
                model.addAttribute("data",result.get());
                return "detail.html";
            }else{
                return "redirect:/list";
            }
        }
    
    
    }
    
    
    
    ---------------------------------------------------
    
    
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <link href="/main.css" rel="stylesheet">
    </head>
    <body>
    <div th:replace="~{nav.html::navbar}"></div>
    <form action="/modify" method="POST">
        <input name = "id" th:value="${data.id} "hidden="hidden">
        <input name = "title" th:value="${data.title}">
        <input name = "price" th:value="${data.price}">
        <button type="submit"> 전송 </button>
    </form>
    </body>
    </html>
    
    
    뭐가 문제일가요,,
    
    
    #121042

    codingapple
    키 마스터
     @PostMapping("/modify") 에서 id나 item 변수 잘나오나 출력해봅시다
    #121163

    양현빈
    참가자
    update 가 찍혀야하는데 insert가 찍히는걸까요? jdbc 이용해서 update 기능 구현은 해봤는데 이런방식으로는 처음 해봐서 이유를 모르겠네요,,
    
    화면 캡처 2024-04-24 091624
    
     화면 캡처 2024-04-24 091715
    
    • 이 답변은 양현빈에 의해 1 년, 2 월 전에 수정됐습니다.
    • 이 답변은 양현빈에 의해 1 년, 2 월 전에 수정됐습니다.
    #121173

    codingapple
    키 마스터
    안되면 .findById(1L)로 바꿀 행 찾아온 다음에 원하는 변수 바꾸고 그 다음에 .save()안에 넣어봅시다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠