썸네일 [Spring Boot] 타임리프의 레이아웃 📚코드로 배우는 스프링 부트 웹 프로젝트를 통해 공부한 내용들을 정리해보았습니다. 타임리프의 레이아웃 기능은 크게 2가지 형태로 사용할 수 있습니다. JSP의 include와 같이 특정 부분을 외부 혹은 내부에서 가져와서 포함하는 형태 특정한 부분을 파라미터로 전달해서 내용에 포함하는 형태 3.4.1 include 방식의 처리 th:insert나 th:replace 특정한 부분을 다른 내용으로 변경할 수 있는 기능 th:replce는 기존의 내용을 완전히 "대체"하는 방식이고 th:insert는 기존 내용의 바깥쪽 태그는 그대로 유지하면서 추가되는 방식입니다. fragment1.html Part 1 Part 2 Part 3 exLayout1.html Fragment Test Layout 1 - 1 Lay..
썸네일 [Spring Boot] 제어문 처리 3.2.2 제어문 처리 타임리프의 제어문 처리 th:if ~ unless 삼항 연산자 스타일 th:if ~ unless 실행 결과 삼항 연산자를 사용하는 방법 실행 결과 응용
썸네일 [Spring Boot] Thymeleaf의 기본 사용법 📚코드로 배우는 스프링 부트 웹 프로젝트를 통해 공부한 내용들을 정리해보았습니다. 88p-90p 타임리프는 JSP를 사용해본 경험이 있다면 어려움 없이 적응이 가능하다는 장점이 있습니다. Lombok의 @Data는 Getter/Setter,toString(), equals(),hashCode()를 자동을 생성합니다. @Data @Builder(toBuilder = true) public class SampleDTO { private Long sno; private String first; private String last; private LocalDateTime regTime; } @GetMapping의 value 속성값을 '{}'로 처리하면 하나 이상의 URL을 지정할 수 있습니다. @GetMappi..
썸네일 [Spring Boot] 스프링 MVC와 Thymeleaf | 포트 번호 바꾸기 | 404 에러 해결 📚코드로 배우는 스프링 부트 웹 프로젝트를 통해 공부한 내용들을 정리해보았습니다. 82p -88p 스프링 부트는 설정을 통해서 JSP등을 사용할 수도 있지만, JSP 대신에 Thymeleaf이나 FreeMarker,Mustache등을 이용해서 화면을 처리합니다. Thymeleaf(타임리프)를 이용하는 이유 JSP와 유사하게 ${}을 별도의 처리 없이 이용할 수 있습니다. Model에 담긴 객체를 화면에서 JavaScript로 처리하기 편리합니다. 연산이나 포맷과 관련된 기능을 추가적인 개발 없이 지원합니다 개발 도구를 이용할 때 .html 파일로 생성하는데 문제가 없고 별도의 확장자를 이용하지 않습니다. 3.1 타임리프를 사용하는 프로젝트 생성 83p 참고 타임리프를 이용하는 프로젝트는 변경 후에 만들어..
썸네일 [Spring Boot] 쿼리 메서드와 Pageable의 결합 📚코드로 배우는 스프링 부트 웹 프로젝트를 통해 공부한 내용들을 정리해보았습니다. 74p - 78p 쿼리 메서드와 Pageable의 결합 MemoRepository 인터페이스의 변경 public interface MemoRepository extends JpaRepository { List findByMnoBetweenOrderByMnoDesc(Long from, Long to); Page findeByMnoBetween(Long from, Long to, Pageable pageable); } 정렬 조건은 Pageable을 통해서 조절할 수 있습니다. Pageable 파라미터는 모든 쿼리 메소드에 적용 가능합니다. 일반적인 경우 쿼리 메서드에 정렬 조건을 생략하고 만드는 경우가 많습니다. MemoRep..