오랜만에 또 블로그 업로드다!
백엔드를 마무리하고, 프론트를 시작하고 나니 결국 백엔드도 리턴을 바꾸면서 같이 수정을 하면서 작업중이다.
이제 수정 form과 수정만 연결하면, 환자와 매입의 기능적인 부분은 마무리가 되는데 완성이 되면 메뉴바를 만들고 그리드 모양도 좀 잡아서 보여지도록 수정해야 한다.
각설하고, 프론트를 너무너무 오랜만에 작업하는 바람에 정말 기본적인 문법이나 만들 때 어떤걸 사용해야지 원하는대로 보여지고, 값이 전달되는지 더듬더듬 배우면서 만들고 있다.
프론트는 정말,,,, 어려운것
여튼 타임리프를 처음 써보면서 사실 문법에 대한 학습도 없이 우선 만들면서 필요한 부분을 찾으면서 만들다 보니, 정리하지 않는다면 다 까먹을 것 같다는 생각이 들어서 글을 작성한다!
Thymeleaf에서는 백엔드에서 값을 받고 전달하려면, th:를 써줘야한다.
form태그는 submit(제출)하는 값이 있을 때 사용하는 태그인데, @PathVarible을 쓰면 Long타입이 String 타입으로 전달되서 타입이 맞지 않는다는 예외가 나왔다. 그러고 겨우 타입을 맞춰놓으니, ${patient.id}라는 내용이 그대로 전달이 되고 해당하는 값이 전달되지 않았다.
th:action="@{'/' + ${patient.id} + '/income/create'}"
처음에는 위에와 같이 작성했는데, 읽혀지지가 않았고 구글링을 한참하면서 해결해본 결과, 아래와 같은 방식으로 작성하면 정상적으로 읽히는 것을 확인했다.
th:action="@{/{pId}/income/create(pId=${patient.id})}
그런데 웃긴?신기한 것은 href는 위에와 같이 작성해도 정상적으로 읽힌다.......!