BackEnd 87

체크 박스 - 멀티

체크박스를 멀티로 사용하여 하나 이상을 체크할 수 있도록 하는 방법에 대해서 공부하였다. 우선 FormItemController에서 지역들을 담고있는 Map을 모델에 넘겨주는 작업을 해줘야한다.@ModelAttribute("regions")public Map regions(){ Map regions = new LinkedHashMap(); regions.put("SEOUL","서울"); regions.put("BUSAN","부산"); regions.put("JEJU","제주"); return regions;}@ModelAttribute를 이용하여 해당 컨트롤러를 요청할때 regions에서 반환한 값이 모델에 자동으로 담기도록 해준다.   등록 지역 ..

BackEnd/Thymeleaf 2024.07.23

체크 박스 - 단일(1)

체크박스 사용 방법에 대해서 공부 해보았다.  우선 상품 판매 여부를 체크할 수 있는 체크 박스를 addForm.html에 추가하였다.판매 여부 판매 오픈   로그를 남겨서 실행후 값이 잘 넘어오는지를 확인해보면 문제점을 확인할 수 있다. 체크를 하지 않으면 null값이 넘어오는데, 이를 수정할 수 있는 방법에 대해서 공부하였다.FormItemController : item.open=true //체크 박스를 선택하는 경우FormItemController : item.open=null //체크 박스를 선택하지 않는 경우  체크 해제를 인식하기 위해서 약간의 트릭을 사용하는데판매 여부 판매 오픈 ..

BackEnd/Thymeleaf 2024.07.22

타임리프 - 템플릿 레이아웃

코드 조각을 레이아웃에 넘겨서 사용하는 방법에 대해서 공부해 보았다.   메인 컨텐츠  메인 타이틀이 전달한 부분으로 교체되었고 추가 부분에 들이 포함되었다. 위에서 다룬 개념을 메인 페이지 컨텐츠 메인 페이지 포함 내용  레이아웃 H1 레이아웃 컨텐츠 레이아웃 푸터    layoutExtendMain.html이 현재 페이지인데, 자체를 th:replace를 이용해서 변경하는 것을 확인 할 수 있다.결국 laoutFile.html에 필요한 내용을 전달하면서 자체를 layoutFile.html로 변경한다.

BackEnd/Thymeleaf 2024.07.21

타임리프 - 템플릿 조각

템플릿 조각을 이용해 공통 영역을 효율적으로 처리할 수 있다. package hello.thymeleaf.basic;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;@Controller@RequestMapping("/template")public class TemplateController { @GetMapping("/fragment") public String template(){ return "template/fragment/f..

BackEnd/Thymeleaf 2024.07.21

타임리프-반복문

타임리프에서 반복문을 th:each로 사용할 수 있다. 실습을 위해 List에 User객체 3명을 넣어서 Model에 담아준다.@GetMapping("/each")public String each(Model model){ addUsers(model); return "basic/each";}private void addUsers(Model model){ List list = new ArrayList(); list.add(new User("UserA",10)); list.add(new User("UserB",20)); list.add(new User("UserC",30)); model.addAttribute("users",list);}  기본 테이블 ..

BackEnd/Thymeleaf 2024.07.19

타임리프-속성값 설정

타임리프는 속성값을 th:*로 지정한다.th:*로 속성을 적용하면 기존 속성을 대체한다. 속성 설정속성 추가- th:attrappend = - th:attrprepend = - th:classappend = checked 처리- checked o - checked x - checked=false   소스코드를 보면 다 th:로 대체 된것을 확인할 수 있다. th:attrappend  : 속성 값의 뒤에 값을 추가한다.th:attrprepend  : 속성 값의 앞에 값을 추가한다. th:classappend : class 속성에 자연스럽게 추가한다.   th:checked="false"위와 같이 코드를 작성하면 checked값이 false인 경우 checked 속성 자체를 제거한다.

BackEnd/Thymeleaf 2024.07.19