728x90 Spring83 [Spring] thymeleaf 개요 thymeleaf thymeleaf 에 대해서 알아보고 공부해 본다. 강의를 들으면서 진행하기 때문에 뒤편부터 본격적인 내용이 나올것 같다. 왜 thymeleaf 를 배워야 하는가? 백엔드 개발자여도 간단한 화면정도는 만들수 있어야 한다. 서버사이드 HTML 렌더링 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. 네츄럴 템플릿 타임리프는 순수 HTML을 최대한 유지하는 특징이 있다. 타임리프로 작성한 파일은 HTML을 유지하기 때문에 웹 브라우저에서 파일을 직접 열수있다. JSP 같은 경우는 웹브라우저에서 열경우 JSP 소스코드와 섞여서 보기 힘들다. 하지만 thymeleaf는 html 결과를 확인 할수 있다. 스프링 통합 지원 스프링과 자연스럽게 통합이 된다. 스프링의 다양.. 2021. 12. 16. [Spring] PRG(Post Redirect Get) PRG Post Redirect Get 이라고 하는데 실무에서 많이 쓰인다. 왜 써야 되는지 먼저 알아보자. 상품등록의 심각한 문제점 다음과 같이 Controller를 구현할 경우 문제가 있다. 기능은 다음과 같다. post 방식으로 요청이 왔을때 - ModelAttribute 를 이용하여 item 을 저장한다. retun 값은 string 인데 해당 뷰를 호출한다. 심각한 문제가있다. @PostMapping("/add") public String addItemV3(@ModelAttribute Item item) { itemRepository.save(item); return "basic/item"; } 어떤 문제점이 발생하는가? 상품Controller 에서 저장후 View 를 넘겨준다. 하지만 URL .. 2021. 12. 3. [Spring] 웹페이지 만들어 보기 웹페이지 만들어 보기 배운내용으로 실제 웹페이지를 만들어 본다. 들어가기전 타임리프 핵심을 공부하고 가보자 핵심1 th:xxx 가 붙은 부분은 서버사이드에선 렌더링이 된다; - 즉 원래 정의되어있는 값을 대체 한다. @{...} url 링크표현식이라고 한다. th:href="@{/css/bootstrap,min.css}" URL 링크 표현식을 사용하면 서블릿 컨텍스트를 자동으로 포함한다. 경로변수에 값을 넣을수 있고 쿼리 파라미터도 지원한다. - th:href="@{/basic/items/{itemId}(itemId=${item.id}, query='test')}" - http://localhost:8080/basic/items/1?query=test th:onclick onclock="location... 2021. 12. 2. [Spring] @ModelAttribute 사용하기 @ModelAttribute 사용하여 View 와 Controller 에 어떻게 적용하는지 알아보자 ModelAttribute 는 Model 을 지원하는 애노테이션이다. Controller 와 View 가 어떻게 Item 객체를 주고받는지 살펴본다. Item 객체 package hello.itemservice.domain.item; import lombok.Data; @Data public class Item { private Long Id; private String itemName; private Integer price; private Integer quantity; public Item() { } public Item(String itemName, Integer price, Integer quan.. 2021. 11. 27. 이전 1 ··· 4 5 6 7 8 9 10 ··· 21 다음 728x90 반응형