인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

상품 목록 - 타임리프

질문입니다 !

작성

·

197

1

1. 강의 초반에 Model에 addAttribute 하는 모습이 있었는데요 예전 강의에서는 ModelAndView 객체를 사용했었는데 Model과 ModelAndView의 차이점이 어떻게 되나요 ?? 모델은 컨트롤러와 뷰사이에서 데이터를 주고 받을때 사용하는 걸로 알고 있는데 각각 어떨 때 사용하는지 궁금합니다

 

2. 8:47경에 th:href로 /css/bootstrap.min.css 를 하셔서 기존꺼를 덮어버리면서 앞에 .. 을 없앤다고 했는데 이럴 경우 좋은 점이 무엇인가요 ??

 

3. 타임리프 문법 같은 경우 다 암기를 해야하나요?? 자주 쓰다보면 손과 눈이 익을 것 같은데 강의만 보고 따라 치는걸로는 안익어서요 ㅠㅠ 서버를 통해 html파일을 열면 기존의 href를 th= 붙은게 덮는다는 개념은 알겠는데 어디까지 알아야하나 궁금합니다 !

답변 1

1

안녕하세요. hjemsti님, 공식 서포터즈 y2gcoder입니다.

1. ModelAndView == Model(데이터 전달용) + View 라고 이해하시는 편이 쉬울 것 같습니다. 개인적으로 사용했을 때 주로 Model을 사용하고, 반환타입은 그냥 ViewName(String)으로 사용했습니다. ModelAndView에는 View와 관련된 편의기능이 많은데요. ViewName과 관련하여 처리해야할 내용이 있을 때는 ModelAndView를 사용하는게 편했던 것 같습니다.

참고 링크: https://bestkingit.tistory.com/155

2. Thymeleaf 공식 사이트에 들어가서 보시면 그들이 Thymeleaf 의 특징 첫번째로 말하는 것이 Natural Templates입니다. 타임리프 확장자를 보시면 html인데, 서버 구동 없이 해당 타임리프 파일을 html 처럼 열었을 때도 화면이 깨지지 않고 보이게 됩니다. 이를 통해 디자이너나 급하게 서버 구동없이 해당 파일을 보여줘야 할 때는 기존 html 의 속성값들을 이용해서 보여주고, 스프링을 통해 보여줄 때는 th: 가 붙은 속성값이 기존 속성값들을 덮어쓰면서 서버에서 렌더링된 값으로 보여줄 수 있게 됩니다. 

3. 개인적으로 타임리프 프로젝트를 해봤을 때, 굳이 암기할 필요는 없고, 이런 기능이 필요하다고 생각할 때 공식 문서 참고, 구글링을 통해 해결할 수 있었습니다. 게다가 이 다음 편인 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술의 타임리프 에 있는 기능들만 알고 계셔도 충분할 것이라고 생각합니다. :)

 

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기