반응형
4.1 서버 템플릿 엔진과 머스테치 소개
템플릿 엔진
지정된 템플릿 양식과 데이터가 합져져서 HTML 문서를 출력하는 소프트웨어
-> 클라이언트 템플릿 엔진(리액트, 뷰)와는 다름!
Nashorn, J2V8
머스테치
기존 템플릿 엔진의 단점
- JSP, Velocity : 적합하지 않음
- Freemarker : 템플릿 엔진치고 과하게 많은 기능으로, 비즈니스 로직이 추가될 수도 있음
- Tymeleaf : 어려움
템플릿 영역은 화면 역할에만 충실해야한다.
mustache 장점
- 다른 템플릿 엔진보다 심플하다.
- 로직 코드를 사용할 수 없어 View의 역할과 서버의 역할이 명확하게 분리됩니다.
- Mustache.js와 Mustache.java 2가지가 다있어서 하나의 문법으로 크언트/서버 템플릿을 모두 사용 가능합니다.
타임리프는 확장자가 .html인데 머스테치는 확장자가 .mustache이다.
(문법은 html과 똑같다.)
4.2 기본 페이지 만들기
TestRestTemplate을 이용해서 테스트도 할 수 있다.
4.3 게시글 등록 화면 만들기
레이아웃을 나눌 때, css는 header에, js는 footer에 넣는게 페이지 로딩 속도에 도움이 된다.
(화면을 다 그린뒤에 js를 호출하는 것이 좋기 때문이다.)
var index란 객체를 만들고 객체에서 필요한 function을 선언하는 것이 좋음 => 중복되어 덮어씌워질 위험이 없어짐
// bad var init = function(){ ... } var save = function(){ ... } // good var index = { init : function(){ ... }, save : function(){ ... } }
잘 들어간다! ㅎvㅎb
4.4 전체 조회 화면 만들기
Transactionl(readOnly=true)
조회 기능만 있는 곳에 사용하면 된다.
조회를 제외한 수정/삭제 기능은 사용할 수 없다.
4.5 게시글 수정, 삭제 화면 만들기