일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- springdatajpa
- transaction
- 스프링
- 백준
- 그리디
- spring
- QueryDSL
- Servlet
- pointcut
- 김영한
- Greedy
- Exception
- JDBC
- JPQL
- 자바
- 스프링 핵심 원리
- Spring Boot
- AOP
- 알고리즘
- db
- kotlin
- http
- java
- 인프런
- Android
- SpringBoot
- 스프링 핵심 기능
- Thymeleaf
- jpa
- Proxy
- Today
- Total
목록인프런/[인프런] 스프링 MVC 1 (59)
개발자되기 프로젝트
상품을 저장하고 Redirect로 해당 상품의 상세 화면으로 넘어갔다. 근데 저장이 된건지..뭔지..뭔가 표시가 없다. 정상적으로 처리가 되었으면 메시지를 보여줬으면 좋겠따. RedirectAttributes를 사용하면 간단히 해결 가능. 1. RedirectAttributes 적용. RedirectAttributes에 넣은 attributes는 PathVariable, QueryParam으로 사용이 가능. 아래의 경우 "itemId"라는 이름으로 id값을 RedirectAttributes에 추가했고 이는 PathVariable로 사용 가능. PathVariable로 사용되지 않은 attributes는 queryParameter로 뒤에 붙음. redirect:/basic/items/{itemId}?sta..
음...상품등록 처리를 위한 Controller는 문제가 있음. @PostMapping("/add") public String addItemV4(Item item){ itemRepository.save(item); return "basic/item"; } 현재는 save를 마치고 view만 내부 호출을 통해 변경이 된다. 1. 전체 흐름 2. POST 등록 후 새로고침 웹 브라우저의 새로 고침은 마지막에 서버에 전송한 데이터를 다시 전송함 마지막 행위 + data 다시 보냄. -->여기서는 POST/add, 상품 data 상품 등록 폼에서 데이터를 입력하고 저장을 선택하면 POST /add + 상품 데이터를 서버로 전송한다. 이 상태에서 새로고침을 하면 마지막에 전송한 POST /add + 상품 데이터를..
1. 상품 수정 form controller editForm 상품 수정 form 보여줌. @GetMapping("/{itemId}/edit") public String editForm(@PathVariable("itemId") Long itemId, Model model){ Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "basic/editForm"; } edit 변경내용 저장 후 redirect redirect:/.... 으로 redirect사용 가능. Controller에 매핑된 @PathVariable 값은 redirect에도 사용이 가능. @PostMapping("/{itemId}/edit"..
1. POST - HTML Form content-type: application/x-www-form-urlencoded 메시지 바디에 쿼리 파리미터 형식으로 전달 itemName=itemA&price=10000&quantity=10 예) 회원 가입, 상품 주문, HTML Form 사용 Form에서 지정한 이름으로 넘어옴. 2. Controller 2.1 @RequestParam 요청 파라미터를 처리하는 방법 변수 명은 Form에서 지정한 name으로 넘어옴. 상품 등록 form에서 상품 명은 itemName, 가격은 price, 수량은 quantity로 넘어온다. @RequestParam을 활용하여 요청 파라미터 사용이 가능. @PostMapping("/add") public String save(@R..
1. Controller 상품등록 화면을 보여줌 @GetMapping("/add") public String addForm(){ return "basic/addForm"; } 2. addForm.html 상품 등록 폼 상품 입력 상품명 가격 수량 상품 등록 취소 3. GitHub : 210917 Thymeleaf3 GitHub - bsh6463/MVC3 Contribute to bsh6463/MVC3 development by creating an account on GitHub. github.com
1. Controller item을 조회하는 메서드 추가. @Controller @RequestMapping("/basic/items") @RequiredArgsConstructor public class BasicItemController { private final ItemRepository itemRepository; @GetMapping public String items(Model model){ List items = itemRepository.findAll(); model.addAttribute("items", items); return "basic/items"; } /** * Test용 Data */ @PostConstruct public void init(){ itemRepository.s..
1. Controller ItemRepository는 final로 선언. 그리고 Constructor를 통해 주입받음. ->lombok 이용 생성자가 딱 한개 있으면 @Autowired생략 가능. @Controller @RequestMapping("/basic/items") @RequiredArgsConstructor public class BasicItemController { private final ItemRepository itemRepository; @GetMapping public String items(Model model){ List items = itemRepository.findAll(); model.addAttribute("items", items); return "basic/item..
1. BootStrap BootStrap을 다운받고 bootstrap.min.css을 복사하여 resources/static/css/bootstrap.min.css 에 넣어줌. 2. HTML HTML 추가 -> GItHub참조 addForm.html editForm.html item.html items.html 3. 주의 /resources/static 폴더에 HTML을 넣어두면 해당 Resource는 오픈된다. 따라서 공개할 필요가 없는 HTML을 두는 것은 주의가 필요하다. 4. GItHub : 210916 HTML GitHub - bsh6463/MVC3 Contribute to bsh6463/MVC3 development by creating an account on GitHub. github.com