//필드 검증 if(StringUtils.isEmpty(item.getItemName())){ bindingResult.addError(new FieldError("item","itemName", item.getItemName(), false , null, null, "상품명을 입력해주세요.")); //3번의 field값을 넣으면 오류가 발생했을 때에 오류값을 html에서 표시해 줄 수 있게 모델에 넣어준다. 필드의 타입이 Integer인데 문자열이 들어가도 넣어준다. 그 이유는 item에 넣기 이전에 아닌 리퀘스트에서 넣어준다고 생각하면 된다. //bindingResult.addError(new FieldError("item","itemName","상품명을 입력해주세요.")); } if(item.get..
LocaleResolver 스프링은 Locale 선택 방식을 변경할 수 있도록 LocaleResolver 라는 인터페이스를 제공하는데, 스프링 부트는 기본으로 Accept-Language 를 활용하는 AcceptHeaderLocaleResolver 를 사용한다. LocaleResolver 인터페이스 public interface LocaleResolver { Locale resolveLocale(HttpServletRequest request); void setLocale(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable Locale locale); } LocaleResolver 변경 만약 Locale 선택 방식을 ..
스프링은 기본적인 메세지 관리 기능을 제공한다. 메시지 관리 기능을 사용하려면 스프링이 제공하는 MessageSource 를 스프링 빈으로 등록하면 되는데, MessageSource는 인터페이스이다. 따라서 구현체인 'ResourceBundelMessageSource'를 스프링 빈으로 등록하면 된다. 직접등록 @SpringBootApplication public class ItemServiceApplication { public static void main(String[] args) { SpringApplication.run(ItemServiceApplication.class, args); } //메세지 직접등록 @Bean public MessageSource messageSource(){ Resour..
산술 연산 10 + 2 = // 12 10 % 2 == 0 = //true 비교 연산 1 > 10 = //false 1 gt 10 = //false 1 >= 10 = //false 1 ge 10 = //false 1 == 10 = //false 1 != 10 = //true 조건식 (10 % 2 == 0)? '짝수':'홀수' = //짝수 Elvis 연산자 ${data}?: '데이터가 없습니다.' = //Spring ${nullData}?: '데이터가 없습니다.' = //데이터가 없습니다. No-Operation span> ${data}?: _ = 데이터가 없습니다.//Spring ${nullData}?: _ = 데이터가 없습니다.//데이터가 없습니다.
리터럴이란 소스 코드상에 고정된 값을 말하는 용어이다. 예를 들어서 다음 코드에서 "hello"는 문자 리터럴, '10', '20'는 숫자 리터럴이다. String a = "hello"; int a = 10 * 20 ; 타임리프에서 문자 리터럴은 항상 '(작은따옴표)로 감싸야한다. 근데 문자를 항상 '로 감싸는 것은 너무 귀찮은 일이다. 공백 없이 쭉 이어진다면 하나의 의미있는 토큰으로 인지해서 다음과 같이 작은 따옴표를 생략할 수 있다. //ok //not ok //ok
스프링 bean에 등록된 편의 객체 접근 ${@객체명.hello('값')} 으로 접근 가능 html 편의 객체 Request Parameter = Request Parameter = session = session = spring bean = spring bean = java @Component("helloBean") static class HelloBean{ public String hello(String data){ return "Hello" + data; } }
SpringEL 표현식 Object ${user.username} = ${user['username']} = ${user.getUsername()} = List ${users[0].username} = ${users[0]['username']} = ${users[0].getUsername()} = Map ${userMap['userA'].username} = ${userMap['userA']['username']} = ${userMap['userA'].getUsername()} = 지역 변수 - (th:with) 처음 사람의 이름은
- Total
- Today
- Yesterday
- exception
- 항해플러스
- filter
- React
- BindingResult
- 인터셉터
- 로그인
- 스프링부트
- JPA
- 스프링공부
- 향해플러스백엔드
- jpa api
- reject
- 리터럴
- thymleaf
- 컨트
- 예외처리
- 백엔드 개발자 공부
- 향해99
- 항해99
- react실행
- SpringBoot
- HTTP
- hypertexttransferprotocol
- ArgumentResolver
- rejectValue
- Intercepter
- 향해플러스
- 백엔드 개발자 역량
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |