--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/e2060126-9688-42d8-87dd-7ff8bb641a17%40googlegroups.com을(를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/8BE1634E-CBBA-4A22-AEDE-8C3EE30748C7%40gmail.com을(를) 방문하세요.
View에서 로직, 특히 Java 코드는 사용하지 마세요.
JSP에서 Java Code는 안 보는게 좋습니다. 그리고 충분히 그게 가능하고요(저는 JSP에서 Java code 안쓴지 8년쯤 됐습니다)
최근 추세는 JSP의 로직도 너무 많다며 Mustache 같은 아예 로직이 없는 (logicless, 제어문이 없음) Template framework까지 나오는 상태입니다.
View의 로직은 최소한으로 하시고 가능하면 JSTL로 처리가 다 될 수 있도록 컨트롤러 단에서 데이터를 만들어 내려주는 것이 좋습니다.
Java Code는 Unit Test를 만들 수 있지만, View에 들어간 로직은 테스트하기가 어렵고, UI 개발자들과의 협업을 방해합니다. 나중에 Java 코드와 HTML, JSP, JSTL, javascript 등이 섞여있는 JSP 파일은 정말 지옥같이 느껴지게 됩니다.
참고로 Mustache 수준의 Logicless는 사실 사용하기 어렵습니다. 문법이 장황한 Java 특성상 컨트롤러의 코드가 지나치게 길어집니다. 그에 반해 동적 언어 계열에서는 컨트롤러에 부담이 가더라도 코드 줄수가 훨씬 짧기에 logicless로 하더라도 컨트롤러의 코딩 부담이 훨씬 줄어드는 편이 될 겁니다.
어쨌든 Java에서는 완전 Logicless는 어렵더라도 View에 불필요한 로직이 들어가는 것을 최대한 피하는게 좋으며, JSTL의 로직은 보편적인 View를 처리하기에 충분하고도 남아돕니다.
현재 저희 회사에서는 JSP도 버리고, Handlebars라는 뭐랄까 반정도 logicless 인 템플릿 프레임워크에 javascript도 모두다 파일로 빼버려서 사실상 HTML 외에는 거의 안보이는 HTML 템플릿을 사용하고 있습니다.
개인적으로는 jade도 좋아합니다만 초반에 UI 개발자들이 적응하기 힘들어합니다.
화면에서는 JSTL 이나 Spring tag 혹은 custom tag 를 사용하고 스크립틀릿은 쓰지 않습니다.
스크립틀릿을 쓴다는건 로직이 포함된다는 의미라 VIEW 라고 할 수 없죠
오래된 사이트는 유지보수 하면서 JAVA 코딩을 안할려고 화면에 로직이 들어가있는 상황은 간혹 보이죠..
모델에서 처리를 다하고 화면은 단지 보여주기만 하는게 잘 쓰는거라고 생각합니다..ㅎㅎ
여기 기웃 저기 기웃 소스코드를 살펴보면, jsp 에서 java 코드를 쓰는경우를 많이 봤습니다.
<%
Sitrng temp = ...
...
%>
저는 여태 서비스에서 작업을 해주고 이것을 Map에 담아 컨트롤러에서 View로 넘겨줬는데요.
그냥 jsp 에서 자바를 작성해버리면 이것이 MVC 형태에 부합하는건가요?
어떻게 써야 잘쓰는것인지.. ㅎㅎ
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에 서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/e2060126-9688-42d8-87dd-7ff8bb641a17%40googlegroups.com을 (를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을 (를) 방문하세요.
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에 서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/CAF2Agw69OVsCLHGPx9dJTbu57JSp8dUc-tEQ591_ss6cH1Y9JA%40mail.gmail.com을 (를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을 (를) 방문하세요.
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/8BE1634E-CBBA-4A22-AEDE-8C3EE30748C7%40gmail.com을 (를) 방문하세요.http://groups.google.com/group/ksug에 서 이 그룹을 방문하세요.
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에 서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/CAKY6xDwsYvDq_WaqY4h%3D1R-u-XfkW8QcjeYODKhQubvzUsmR4A%40mail.gmail.com을 (를) 방문하세요.
http://groups.google.com/group/ksug에서 이 그룹을 방문하세요.웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/53B9FFFD.3040809%40gmail.com을(를) 방문하세요.