thymeleaf update/create form 재사용
# 의문점
update 와 create 에서 사용자에게 입력받는 폼의 형태가 같은데,
처음에 실수로 별다른 처리 없이 ModelAndView로 같은 form을 넘겼다.
그 결과 update화면의 form에서 submit을 눌러도 똑같이 createController로 넘어가버렸다.
(action값이 그대로 create 주소였기 때문)
# 해결
action값을 구분해서 사용하면 하나의 form.html을 재사용해서 사용할 수 있을 것 같았다.
mav.addObject("formtype", "update");
Controller 단에서 임의로 formtype 을 넘겨주었다.
<form th:action="@{/shopping/{type}(type=${formtype})}" method="post">
form.html 에서 action속성의 링크값을 formtype에 따라 바뀌도록 해주었다.
나는 create과 update의 주소구분을 그대로 create update로 했기 때문에 Controller에서 넘겨받은 formtype을 그대로 넣어주었다. 이부분은 Controller에서 무엇을 넘기느냐에 따라 달라질 것 같다.
그냥 생각나는대로 해봤는데 제대로 작동하긴 했다.
또다른 방법이 있다면 추가해봐야지.. 댓글로 알려주세요..
# 참고자료
그냥 고민해봄
반응형