본문 바로가기

타임리프4

스프링 - url 요청시 이전 url 에서 Error during execution of processor 'org.thymeleaf.spring6.processor.SpringInputGeneralFieldTagProcessor' (template: "layout-main/layout" - line 135, col 19) 가 발생하는 오류 이 url 에서 이 url 로 이동하니 이처럼 해당 html 을 열수 없다고 나온다. 간단한 템플릿 오류로 타임리프 문법 실수를 생각했는데, 그 아래의 에러 내용을 더 보다보니 이해할수 없는 내용이 나왔다. layout-main/layout 파일에서 오류가 발생했다는 말이다. 그리고 layout-main/layout 는 이전 화면, localhost:8080 의 화면이다. 다시 정리하면, 이전 화면에서 오류가 나서 다음 화면으로 못넘어간다는 말이 되는데, 문제는 정작 "/" 로 요청을 날릴때는 어떤 오류도 발생하지 않는다는 것이다. 그렇다고 "/club?clubNo=1" 의 url 이 "/" 으로 가거나, "layout-main/layout" html 파일에 접근하지도 않는다. 더 내려보면 "layout.. 2024. 3. 2.
Spring validation 과정 중, properties에서 지정한 message 가 출력되지 않음. - 타임리프, 스프링 오류 문제 상황. 오류 메시지를 properties 파일을 이용해 직접 작성하려고 한다. 그러나 옳바르게 문구가 나오지 않고 기본 오류 문구만 출력된다. test 환경에서 MessageSource 를 주입받아 확인해보면 errors.properties 파일 내부의 문구가 옳바르게 MessageSource 빈에 등록된건 확인이 가능하다. DTO @Data @AllArgsConstructor public class MemberJoinForm { @NotBlank private String id; @NotBlank private String pw; @NotBlank @Size(min = 2, max = 5) private String name; @Size(min = 4, max = 15) private String.. 2024. 2. 19.
타임리프 레이아웃 타임리프 레이아웃( ThymeleafLayout) 타임리프에는 레아이웃이라는 기능이 존재한다. 우리가 어떤 웹사이트를 만들때, 각 창에 헤더나 풋터처럼 공통된 부분이 상당부분 존재하게 된다. JS에서는 jQuery의 load함수를 이용해 이런 공통되는 부분들을 코드로 작성하지 않고, html파일 통째로 끌고오는 식으로 구현했던 것과 같이, 타임리프 레이아웃 역시 이를 위한 기능이다. 다만 역시 JAVA답게 그 적용방식이 JS보다 훨씬 복잡하다. 사용법 1. 타임리프와 타임리프 레이아웃을 html파일 상단에 끌고온다. 2. 공통 양식 코드만 작성한 html 파일을 만든다. 공통적인 부분의 html은 각각 다른 파일을 만들어 코드를 작성하자. 그렇게 만들어진 파일에 구현된 태그에 th:fragment="he.. 2023. 1. 25.
타임리프 사용법 StaticWeb(정적 웹페이지) static폴더에 html파일을 만들어야 한다 안의 데이터가 입력값이나 다른 요인에 따라 동적으로 변하지 않는 정적인 웹페이지를 말한다. **스프링부트는 따로 맵핑해주지 않아도 초기 값으로 index.html을 초기 페이지로 감지한다. 이는 templates폴더에 있건, resources폴더에 바로 넣건 알아서 찾아진다. **맵핑(mapping) : 미리 url을 지정해두고, 사용자로부터 어떤 요청이 왔을때 자동적으로 해당 url로 가도록 설정하는 것. 스프링부트에 오신 것을 환영합니다. 서브페이지로 이동 파일 다운로드 링크(png,jpg,pdf,zip) 이미지파일 다운로드 링크 서브페이지 입니다. package com.study.springboot; import org.. 2023. 1. 22.