SimpleFormAndMultiActionController 개발의 어려움
생각했던 Controller를 개발하기 어려웠던 점은 일단 제 자신의 구현 능력이 그만큼 부실하다는 것이 가장 큰 이유이며 그에
파생되어 나오는 이유로는 저 컨트롤러를 사용하는 입장에서 어떻게 사용할 것이냐 하는 것을 고민이 됐습니다.
폼 처리 워크 플로우가 있으려면 폼뷰, 커맨드 객체의 클래스, 이름, Success 뷰가 필요하고 기타 바인더나 프로퍼티
에디터, formBackingObject 마지막엔 onSubmit 까지 다양한 메소드와 변수가 필요합니다. 이 모든 것을
MultiActionController의 형태로 쓰려면 메소드 하나 안에 모두 들어가야 한다는 것인데... 이부분이 가장 큰
걸림돌이였습니다.
즉 저 파란 부분을 아래와 같이 하나의 메소드 안으로...;;
구상한 컨트롤러가 있다고 치고 코딩을 한 것인데요. 메소드 하나 안에 변수 설정과 formBackingObject 메소드에서 하는 일 그리고 onSubmit에서 하는 일이 들어있습니다. 이때 바로 난감해 집니다.
하나의 메소드에 세 부분(변수 설정, 폼백킹, 온서밋)이 들어있습니다. 이 세 부분은 각각 워크 프롤우에 따라 모두 다 같이
실행이 되는 것이 아니라 어떤 때 는 폼백킹만 실행을 하고 어떤 때는 온서밋을 실행하고 종료하게 될 수 있다는 것입니다.
그럼 이 쯤에서 새로운 컨트롤러를 사용하는 방법을 바꿔야겠다는 생각이 듭니다.
즉 이런 모양이 되겠죠. 어떤 탬플릿을 가진 클래스가 있고 그 클래스의 훅 들을 구현하는 식으로 메소드 안에서 익명 클래스를 만들어서 사용하는 형태입니다. 이렇게 복잡하게 사용할 바에는 차라리 SimpleFormController를 그냥 쓰는 것이 좋겠다는 생각이 드는 것은 저뿐이 아니라 생각 됩니다.
그래서... 원래 만들고자 했던 컨트롤러는 포기하고 약간 다른 컨트롤러를 만들었습니다.