분류 전체보기

    4. 검증1 - Validation

    검증 직접 처리 - 개발 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { //검증 오류 결과를 보관하는 객체 생성 Map errors = new HashMap(); //검증 로직 if(!StringUtils.hasText(item.getItemName())){ errors.put("itemName", "상품 이름은 필수 입니다."); } if(item.getPrice() == null || item.getPrice() 10000000){ errors.put("price", "가격은 1..

    3. 메시지, 국제화

    스프링 메시지 소스 설정 스프링 부트 스프링 부트를 사용하면 스프링 부트가 MessageSource 를 자동으로 스프링 빈으로 등록한다 웹 애플리케이션에 국제화 적용하기 이번에는 웹 애플리케이션에 국제화를 적용해보자. 먼저 영어 메시지를 추가하자 messages_en.properties label.item=Item label.item.id=Item ID label.item.itemName=Item Name label.item.price=price label.item.quantity=quantity page.items=Item List page.item=Item Detail page.addItem=Item Add page.updateItem=Item Update button.save=Save button...

    2. 타임 리프 - 스프링 통합과 폼

    입력 폼 처리 • th:object : 커맨드 객체를 지정한다. form 태그 안에서만 적용 • *{...} : 선택 변수 식이라고 한다. th:object 에서 선택한 객체에 접근한다. • th:field HTML 태그의 id , name , value 속성을 자동으로 처리해준다. 렌더링 전 렌더링 후 등록 폼 th:object 를 적용하려면 먼저 해당 오브젝트 정보를 넘겨주어야 한다. 등록 폼이기 때문에 데이터가 비어있는 빈 오브젝트를 만들어서 뷰에 전달하자. FormItemController 변경 @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "form/addF..

    등수 매기기★→"진료순서 정하기" 유사, 인덱스 장난치기, list의 indexOf()

    나의 풀이 import java.util.*; class Solution { public int[] solution(int[][] score) { ArrayList arr = new ArrayList(); for(int i=0; i