상품 상세
타임리프 문법이 제대로 숙지되지 않아서 typo 때문에 몇번이고 오류가 났다. 다음 3가지 컨트롤러(메서드)와 뷰를 구현해보자.
상품 상세페이지
상품 수정 페이지 렌더링
상품 목록으로
상품 상세페이지로 이동하는 메서드와 템플릿 구현
메서드 구현 단순 조회이기 때문에 GET 메서드로 매핑한다! 틀린 부분 @GetMapping 값으로 넣어준 경로 변수 ("/{varName}")의 varName이랑 메서드의 파라미터로 받을 것이기 때문에 동일해가 해줘야한다! 전자는 i를 소문자로 하고, 후자는 대문자로 해서 오류가 났었다! 치환할 속성 이름은 복붙해서 쓰도록 하자!!!
정답 소스
2. 템플릿 뷰 구현
템플릿 등록 선언⭐️ 타임 문법 사용을 위해 필수!!!!⭐️
부트스트랩 css 경로 설정
model에서 받은 데이터로 동적 페이지 구현
model로 받은 item 객체의 데이터들을 렌더링한다! 기존의 value들을 타임리프 문법으로 동적으로 수정한다! 기존 html 문법을 따라가되, 값을 넣어줄 때 타임리프 문법이 사용된다!!! 기존 => value="..." 타임리프=> th:value="${item.id}"
틀린 이유 : value 철자가 틀려서 치환할 데이터 값이 치환되지 않았다!!
타임리프 경로 설정(@{...} Tip 기존의 HTML 속성 설정 포맷을 들고오되, 동적으로 변경하고 싶은 데이터 자리에 타임리프 문법으로 작성해준다!
상품 수정 링크 설정 - 기존 코드
수정 후 : 타임리프의 리터럴을 사용해서 경로 설정해줄 것이기 때문에 HTML 속성값을 셋팅하는 큰 따옴표 바로 다음에 |로 시작하고 큰 따옴표 닫히기 바로 전에 |로 닫아준다!
href='...' 이 부분에 경로가 들어갈 것이기 때문에 @{..}문법 사용해서 경로 설정해준다!
상품 목록으로 링크 설정 - 기존 코드
수정 후 :
Last updated