테마.log/Clone project

[Web Service Project] 4. 머스테치로 화면 구성하기

_2J 2021. 3. 7. 23:00

 

 

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 게시글 수정, 삭제 화면 만들기