SampleDTO 라는 클래스 파일을 만들었습니다. DTO 는 컨트롤러와 뷰를 위한 것이지만 엔티티는 Repository 와 DB 간에 데이터 교환을 위해 사용하는 것임을 다시 한번 인지를 하고 계속 넘어가겠습니다.
타임리프 표현식
타임리프에서 사용하는 표현식은 위와 같습니다. 변수 표현 방식과 객체 표현 방식이 있습니다. 이 표현 방식들을 활용하여 예제를 사용해보겠습니다. 예제와 함께 보는게 이해하기 더 편하니까 예제랑 함께 보겠습니다.
타임리프 표현식 예제1
우선 SampleController 에 ex3, ex4 메서드를 추가했습니다. ex3 메서드에는 param 매개변수가 있는데요. 따라서 사용자가 해당 메서드를 호출하기 위해서는 URL 주소에 ?param=aaa 와 같이 입력해야 메서드를 출력할 수 있게 됩니다.
이번에는 ex3에 해당하는 html 파일을 만들었습니다.
이번에는 ex4에 해당하는 html 파일을 만들었습니다. 여기서 눈여겨 볼 점은 타임리프에서 href 속성을 지정할 때 ?param=aaa 가 아니라 (param=aaa) 로 지정을 해주어야 합니다. 두 번쨰 li 태그를 보면 컨트롤러에서 값을 꺼내서 파라미터를 던져주는 것을 확인할 수 있습니다.
이제 실제로 서버를 구동시키고 4번째 페이지로 들어가보겠습니다. 링크 2개가 보이는데 첫 번째 링크에 들어가보겠습니다.
첫 번째 링크에 들어가보니까 파라미터로 우리가 지정했던 aaa 가 전달된 것을 확인할 수 있습니다.
뒤로 가기를 누른 다음에 두 번째 링크를 클릭하면 ex3 페이지로 이동하면서 hello 를 param 으로 전달한 것을 확인할 수 있습니다.
타임리프 표현식 예제2
이번에는 ex5 메서드를 만들었습니다. ex5 메서드에서는 객체를 전달하는 것과 리스트를 모델단으로 전달하는 것을 볼 수 있는데요.
ex5.html 파일을 작성하였는데요. dto 에 담긴 데이터를 꺼내는 표현식과 List 에 담긴 데이터를 꺼내는 표현식을 확인할 수 있습니다.