일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Exception
- AOP
- 인프런
- spring
- java
- http
- 그리디
- 자바
- QueryDSL
- transaction
- db
- 스프링 핵심 원리
- JPQL
- Servlet
- SpringBoot
- JDBC
- 스프링 핵심 기능
- 김영한
- pointcut
- Greedy
- Proxy
- 백준
- Thymeleaf
- 스프링
- Spring Boot
- Android
- kotlin
- springdatajpa
- 알고리즘
- jpa
- Today
- Total
목록인프런 (528)
개발자되기 프로젝트
1. 메시지 기능. 화면에 보이는 문구가 마음에 들지 않는다고, 상품명이라는 단어를 모두 상품이름으로 고쳐달라고 하면 어떻게 해야할까? 여러 화면에 보이는 상품명, 가격, 수량 등, label 에 있는 단어를 변경하려면 관련있는 모든 화면들을 다 찾아가면서 변경해야 한다. addForm.html , editForm.html , item.html , items.html 귀찮다.. 이렇게 다 바꿔야 하는 이유가 뭘까? 바로 HTML 파일에 메시지가 하드코등 되어있기 때문. 메시지를 한 곳에서 관리하는 기능이 메시지 기능임. 예를들어 message.properties 와 같은 관링용 파일 생성. item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quant..
1. 셀렉트 박스 여러 선택지 중 하나를 선택하는 경우. 2. select 박스 추가 배송 방식 빠른 배송 일반 배송 느린 배송 셀렉트 박스로 하나만 선택이 가능. 3. Controller 자바 객체 사용. @ModelAttribute("deliveryCodes") public List deliveryCodes(){ List deliveryCodes = new ArrayList(); deliveryCodes.add(new DeliveryCode("FAST", "빠른 배송")); deliveryCodes.add(new DeliveryCode("NORMAL", "일반 배송")); deliveryCodes.add(new DeliveryCode("SLOW", "느린 배송")); return deliveryCod..
1. 라디오 버튼 라디오 버튼은 여러 선택지 중에 하나를 선택할 때 사용할 수 있음 2. 라디오 버튼 추가 상품 종류 도서, 식품, 기타 ENUM 사용 3. Controller @ModelAttribute("itemTypes") 사용 return되는 ItemType.values()를 model의 attribute에 추가함. ItemType.values() -> ENUM의 모든 정보를 배열로 반환. @ModelAttribute("itemTypes") public ItemType[] itemTypes(){ return ItemType.values(); } 4. addForm.html type.name() : enum의 name?? Returns the name of this enum constant, exa..
1. 등록지역 추가 등록 지역 서울, 부산, 제주 체크 박스로 다중 선택할 수 있다. 등록 form에서 해당 정보를 추가하기 위해서는 controller에서 넘겨줘야 한다. 2. Controller LinkedHashMap을 사용하여 지역 정보를 넘겨주자. LinkedHashMap을 사용하면 순서대로 들어간다. 순서가 보장된다. Map regions = new LinkedHashMap();//linkedHashMap쓰면 순서대로 들어감.순서보장. regions.put("SEOUL", "서울"); regions.put("BUSAN", "부산"); regions.put("JEJU", "제주"); model.addAttribute("regions", regions); 하지만 아래 내용이 아이템 상세, 수정에도..
흠.. 근데 앞의 글 처럼 Single Check box 사용 시 매번 히든 필드를 넣어줘야 하나? 귀찮은데.. Thymeleaf가 제공하는 폼 기능을 사용하면 자동으로 처리 가능. 1. Thymeleaf 적용 1.1 상품 등록 페이지에 적용 적용 전 판매 여부 판매 오픈 적용 후 th:field="${item.open}" 적용 및 name 삭제 th:object="${item}" 지정했기 때문에, th:field="*{open}"으로 수정 가능. 히든필드 삭제. 판매 여부 판매 오픈 랜더링 결과 th:field를 적용 했기 때문에, name과 value도 같이 생성해줌. hidden field도 같이 생성해줌. 와! 판매 여부 판매 오픈 실행결과(check 안함) 2021-09-23 09:54:23..
1. single checkbox addform.html에 추가 일단 순수 html로 작성. check box의 경우 name이 open이다. ->Item의 Boolean open에 참/거짓 값을 넘겨줌. 판매 여부 판매 오픈 controller에서 open 값이 잘 넘어오는지 확인하기 위해 log를 추가. @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes) { log.info("item.open={}", item.getOpen()); Item savedItem = itemRepository.save(item); redirectAttributes.addAttrib..
1. 요구사항 추가 판매 여부 판매 오픈 여부 체크 박스로 선택할 수 있다. 등록 지역 서울, 부산, 제주 체크 박스로 다중 선택할 수 있다. 상품 종류 도서, 식품, 기타 라디오 버튼으로 하나만 선택할 수 있다. 배송 방식 빠른 배송 일반 배송 느린 배송 셀렉트 박스로 하나만 선택할 수 있다. 예시 2. ItemType 상품 type을 enum으로 설명을 위해 description 추가함. public enum ItemType { BOOK("도서"), FOOD("음식"), ETC("기타"); private final String description; ItemType(String description) { this.description = description; } } 3. Delivery code /..
1. 입력 form 처리 th:object : 커맨드 객체를 지정한다. Controller에서 넘어오는 Model에 담긴 객체를 지정.(빈 객체도 가능) th:object를 사용하면 좋은 점이 뭘까? id와 name을 직접 입력해 주는데, 빈 객체를 model로 넘기고 th:object로 사용하면 객체의 필드명을 사용가능. 오류 가능성을 줄일 수 있음. form submit을 할 때, form의 데이터가 th:object에 설정해준 이름으로 객체가 넘어감. ex) th:object="${item}" --> controller에서 @ModelAttribute("item")으로 객체를 받을 수 있음. 이 때 필드명이 같으면 다른 객체에 매핑이 가능. -> @ModelAttribute("item") ItemS..