분류 전체보기
-
스프링 부트 command 객체Spring Boot 2021. 9. 14. 22:04
제목 내용 작성자 이전에는 thymeleaf를 통해 뷰에서 컨트롤러로 객체를 전달하려 했다. 그런데 이렇게 하려면 boardRegister() GET 메소드의 매개변수로 BoardDto가 있어야 했다. 왜냐하면 객체가 전달되어 있어야 th:object="${boardDto}"를 수행할 수 있기 때문이다. 그래서 GET 메소드와 POST 메소드 둘 다에 매개변수가 있어야 했는데 이해하기 어려웠고 로직이 맞지 않는 것 같았다. 왜냐하면 뷰에서 컨트롤러로 전달할 때에는 Command 객체를 사용하고, 컨트롤러에서 뷰로 전달할 때에는 Model을 사용하는 걸로 알고 있었기 때문이다. 그러나 책을 천천히 읽으면서 이해할 수 있었다. 제목 내용 작성자 Command 객체는 각 엘리먼트의 name과 똑같은 set##..
-
스프링 부트 thymeleaf id 뷰에서 컨트롤러로 받아오기Spring Boot 2021. 9. 14. 21:38
@GetMapping("/boardDelete") public String deleteBoard(@RequestParam("id") Long id) { repository.deleteById(id); return "redirect:/board"; } 컨트롤러 삭제 뷰(일부) 처음에는 뷰의 2번째 줄에 id="id"를 추가하여 컨트롤러의 @RequestParam("id")와 연결시키려 했었다. 하지만 오류 페이지를 보니 인식할 수 없었다. 해결 방법은 하이퍼링크에 ${board.id}를 전달하는 것이다. thymeleaf는 컨트롤러에서 뷰로 객체를 보낼 때에 주로 사용하고 뷰에서 컨트롤러로 보낼 때에는 스프링에서 제공하는 command 객체를 잘 활용하는 게 더 효율적일 것 같다. 참고 https://ww..
-
스프링 부트 controller 오류 해결Spring Boot 2021. 9. 14. 10:40
@GetMapping("/boardRegister") public String getBoardRegister() { return "boardRegister"; } @PostMapping("/boardRegister") public String registerBoard(@ModelAttribute("boardDto") BoardDto boardDto) { repository.save(boardDto.toEntity()); return "redirect:board"; } 이를 실행하면 Caused by: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'boardDto' available a..
-
getElementById에서 받은 값 사용법HTML, CSS, JavaScript 2021. 9. 13. 22:49
login.html 아이디 비밀번호 loginScript.js var id = document.getElementById('id'); var password = document.getElementById('password'); var submit = document.getElementById('loginSubmit'); const realId = 'abc'; const realPassword = '123'; submit.onclick = function() { if (id.value !== realId || password.value !== realPassword) { alert("사용자 정보가 맞지 않습니다."); } else { alert(realId + '님 반갑습니다.'); } } getEleme..
-
스프링 부트 웹 계층 구조Spring Boot 2021. 9. 9. 23:11
Web Layer: 컨트롤러, 뷰, 예외 처리, 어드바이스 등 Service Layer: @Service 가 사용됨 @Transactional 이 사용되는 영역 Repository Layer: 데이터베이스에 접근 인터페이스로 구현 Dtos: Layer 간에 데이터를 교환 Domain Model 비즈니스 처리 @Entity VO 참고 http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788965402602
-
스프링 부트 HTTP 동작 테스트Spring Boot 2021. 9. 9. 21:31
ToyController package com.example.toy1.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class ToyController { @GetMapping("/toy") public String getHello() { return "hello toy"; } } ToyControllerTest package com.example.toy1.controller; import org.junit.jupiter.api.Test; import org.springfr..