본문 바로가기

Spring74

11 Bean Validator3 - groups 그런데 만약 새로운 요구사항이 추가되서 수정은 다른 검증 로직이 필요하다면 어떨까? 이때 해결방법ㅇ은 두가지다. 1. groups 2. Item을 작접 사용하지 않고, ItemSaveForm, ItemUpdateForm같은 폼 전송을 위한 별도의 객체를 만드는 것. 이번에는 group에 대해 알아보자. 먼저 저장용 groups와 수정용 groups 인터페이스를 만든다. 이제 다음과 같이 Item클래스에 적용한다. 요렇게 하면 groups={UpdateCheck.class}를 넣은 곳과 groups={SaveCheck.class} 넣은 곳, groups={UpdateCheck.class, SaveCheck.class}를 넣은 곳으로 분리된다. 예를들어 14라인은 UpdateCheck만 넣어줬으므로, 수정시.. 2021. 7. 8.
9 Bean Validator1 Bean Validator Bean validator를 사용하면 어노테이션을 사용하여 검증로직을 대신할 수 있다. 이렇게 되면 우리가 지금까지 if문으로 길게 작성한 로직을 작성하지 않아도 되는 것이다. Item 클래스에 아래와 같이 어노테이션을 붙여준다. 이제 테스트를 해보자 20, 21, 22라인 모두 오류가 발생하는 값을 set하였다. 실행결과: 2021. 7. 8.
상품등록 폼에 PRG적용 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 현재 상품등록 폼엔 치명적인 문제가 있습니다. 상품 등록을 하고 새로고침을 누르면 위와 같은 경고창이 뜨고, 무시하고 "계속"을 누르면 상품 목록에 아래와 같은 결과가 나온다.(새로고침 3번 누름) 새로고침은 마지막에 남아있는 http요청을 다시 전송하기 때문에 발생하는 문제입니다. (한번 등록하려 했던 '안경'이 새로고침을 누른만큼 추가로 등록되는 문제) 하여 아래에서 제시한 방법으로 해결할 수 있습니다. PRG 적용 redirect는 서버가 클라이언트의 다음 GET을 강제로 적용해버리는 것이다. 위처럼 redirect:/basic/.. 2021. 6. 30.
컨트롤러 향상시키기 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C item에 대한 정보를 HTML form-post방식으로 보내고 해당 item을 저장하는 방법을 차츰 향상시키는 과정을 보겠습니다. V1 @RequestParam으로 Item의 필드 값들을 일일히 하나씩 가져옵니다. V2 @ModelAttribute를 사용하여 단번에 Item를 생성합니다. V3 가장많이쓰는 방법으로 ModelAttribute의 인자를 생략할 수 있습니다. V4 modelAttribute를 생략할 수도 있습니다. 2021. 6. 30.