일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Thymeleaf
- kotlin
- 스프링 핵심 원리
- 알고리즘
- Greedy
- SpringBoot
- Android
- 자바
- 스프링 핵심 기능
- Spring Boot
- transaction
- jpa
- spring
- JPQL
- java
- http
- 스프링
- 김영한
- 백준
- Proxy
- Exception
- AOP
- springdatajpa
- QueryDSL
- 인프런
- 그리디
- db
- Servlet
- pointcut
- JDBC
- Today
- Total
목록message (5)
개발자되기 프로젝트
Bean Validation이 기본으로 제공하는 Error Message가 맘에 안든다. 바꾸고 싶다. 1. Error code Bean Validation 을 적용하고, bindingResult에 등록된 Error Code를 보자. 상품명을 공백으로 넣었다. 그러면 @NutBlank로 검증이 된다. NotBlank.item.itemName NotBlank.itemName NotBlank.java.lang.String NotBlank Annotion 이름이 Error code로 사용된다. 2. Message 등록 #Bean Validation 추가 NotBlank={0} 공백X Range={0}, {2} ~ {1} 허용 Max={0}, 최대 {1} {0} 은 필드명 {1} , {2} ...은 각 애노테이..
1. Spring이 직접 만든 오류 메시지 처리 검증 오류 코드는 크게 두 가지 개발자가 직접 설정한 오류 코드 -> rejectValue()를 직접 호출함 Spring이 직접 검증 오류에 추가한 경우 -> 바인딩 오류(주로 타입종류 맞지 않은 경우) 2. 동작 방식 price필드에 "A"를 입력하자. log를 보면 BindingResult에서 FieldError를 확인할 수 있다. Field error in object 'item' on field 'price': rejected value [qqq]; 또한 다음과 같이 Message Codes가 생성된다. codes[typeMismatch.item.price,typeMismatch.price,typeMismatch.java.lang.Integer,ty..
컨트롤러에서 BindingResult 는 검증해야 할 객체인 target 바로 다음에 온다. 따라서 BindingResult 는 이미 본인이 검증해야 할 객체인 target 을 알고 있다. @PostMapping("/add") public String addItemV3(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { log.info("objectName = {}", bindingResult.getObjectName()); log.info("target = {}", bindingResult.getTarget()); 2021-09-24 20:19:16.482 I..
1. FieldError 생성자 public FieldError(String objectName, String field, String defaultMessage); public FieldError(String objectName, String field, @Nullable Object rejectedValue, boolean bindingFailure, @Nullable String[] codes, @Nullable Object[] arguments, @Nullable String defaultMessage) objectName : 오류가 발생한 객체 이름 field : 오류 필드 rejectedValue : 사용자가 입력한 값(거절된 값) bindingFailure : 타입 오류 같은 바인딩 실패인지..
1. 메시지 기능. 화면에 보이는 문구가 마음에 들지 않는다고, 상품명이라는 단어를 모두 상품이름으로 고쳐달라고 하면 어떻게 해야할까? 여러 화면에 보이는 상품명, 가격, 수량 등, label 에 있는 단어를 변경하려면 관련있는 모든 화면들을 다 찾아가면서 변경해야 한다. addForm.html , editForm.html , item.html , items.html 귀찮다.. 이렇게 다 바꿔야 하는 이유가 뭘까? 바로 HTML 파일에 메시지가 하드코등 되어있기 때문. 메시지를 한 곳에서 관리하는 기능이 메시지 기능임. 예를들어 message.properties 와 같은 관링용 파일 생성. item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quant..