묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Notification 패턴과 BindingResult 유사점
안녕하세요. BindingResult에 관해서 질문드리려고 합니다.<실전 자바 소프트웨어 개발> 라울-게이브리얼 우르마, 리처드 워버턴 책을 보던 중에 Notification 패턴이란 걸 알게 되었습니다. 이게 마틴 파울러가 정립한 개념이라고 하는데 BindingResult가 동작하는 방식과 똑같더라고요. 혹시 BindingResult가 Notification 패턴을 적용한 사례인가요?제가 제 블로그에 이러한 가정에서 글을 썼는데요. 질문 답변에 따라 글을 지울지 말지 정해야 합니다. 헤헤https://griotold.tistory.com/3
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
rejectValue() 사용시 arguments에 따른 defaultMessage
검증 로직에서 arguments 값이 있는 경우 defaultMessage를 작성하지 않으면 컴파일 에러가 발생합니다.이 이유는 무엇인가요? arguments는 메세지에 사용하는 인자를 뜻한다고 했는데 사용할 인자는 있는데 사용대상이 없을 경우를 대비한걸까요? if (!StringUtils.hasText(item.getItemName())) { bindingResult.rejectValue("itemName","required"); } if (item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000) { bindingResult.rejectValue("price","range",new Object[]{1000,1000000},null); }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
${#fields.Error()}
안녕하세요 선생님. 구글링을 해도 정보를 찾을수 없어 질문드립니다. 제가 하고싶은건 bindingResult를 통해 등록한 에러 메세지를 자바 스크립트에서 쓰고싶습니다. 아래와 같이 코드를 작성해봤고 여러가지 시도를 해보았으나 작동하지않습니다. controller (등록) bindingResult.reject("loginFail","아이디 또는 비밀번호가 맞지 않습니다."); html (작동하지 않는 코드) <script th:inline="javascript"> alert([[${#fields.errors('*')}]]);</script> 다음과 같은 경우는 잘 작동합니다. controller model.addAttribute("loginFail","아이디 또는 비밀번호가 맞지 않습니다."); html <script th:inline="javascript"> alert([[${loginFail}]]);</script> alert 정상출력. --------------- ${#fields.grobalErrors()} 관련 변수는 자바 스크립트에서 사용이 불가능한가요? 사실 model을 통하여 등록하면 된다지만 코드한줄 줄이고싶은 욕심에 몇시간 알아보다가 해결하지 못하여 이렇게 질문드립니다 ㅠㅠ..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증 로직이 들어가는 계층
안녕하세요. BindingResult를 배우기 전에는 검증 로직을 작성할 때 Service에 작성을 했는데, BindingResult를 도입하고 나서부터는 Controller에 검증 로직이 들어가는데, 그렇다면 검증 로직이 들어가야 하는 부분이 이제는 Controller가 되는건가요? Controller는 모델과 뷰의 중간 역할을 하고 Service에서 비즈니스 로직을 처리한다고 하면, 검증 로직이 service에 들어가야 할 것 같은데 이 부분이 조금 헷갈리네요..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
IDE에서 구현체 찾기
안녕하세요. 강의 '로그인 처리하기 - 직접 만든 세션 적용'에서 질문이 있습니다. BindingResult는 interface이고, 그 구현체로 AbstractBindingResult를 비롯해 10개 가량의 구현체가 존재하는데, LoginController.java에서 사용되는 BindingResult는 어떤 구현체를 사용하고 있는 것인지 IDE에서 알 수 있는 방법이 있는지요? 읽어주셔서 감사합니다.