2016-08-06 4 views
7

나는 요즘 JSP 대신에 thymeleaf가 선호된다는 것을 읽었습니다. thymeleaf가 JSP에서 해결할 수없는 문제는 무엇입니까? thymeleaf는 다른 템플릿 엔진과 어떻게 비교됩니까?thymeleaf는 어떤 종류의 솔루션입니까?

+1

http://www.thymeleaf.org/doc/articles/thvsjsp.html –

답변

9

음, 이건 정말 의견에 기초한 문제이며, 내 대답 :

가장 큰 차이점은 Thymeleaf 템플릿 파일을 읽 반면 JSP를 자바 서블릿 클래스로 컴파일된다는 것입니다 될 것 같은, 다음의 DOM 및 구문 분석 모델을 적용합니다. 이로 인해 Thymeleaf의 템플릿 캐싱이 활성화 된 경우에도 성능 오버 헤드가 발생하고 JSP에 성능이 향상됩니다. 다른 한편으로는 함께 개발하는 것이 훨씬 쉽게 Thymeleaf을하고 이유는 다음과 같습니다

  • Thymeleaf이 템플릿으로 일반 HTML을 사용합니다. data-th 속성 또는 원래 사용자 정의 - 네임 스페이스 th: 속성을 사용하여 순수 HTML5 접근 방식을 선택할 수 있습니다. 일반 HTML을 사용하면 브라우저에서 열 수 있으므로 디자이너가 작업을 더 쉽게 할 수 있습니다. 디자이너와 개발자가 모두 동일한 파일에서 작업 할 수 있습니다.

  • Thymeleaf 템플릿은 응용 프로그램 서버없이 사용할 수 있으며 임베디드 서버에서도 잘 작동합니다. 템플리트의 통합 테스트를 수행하기 위해 덤프 할 필요가 없습니다. Thymeleaf's own standalone template testing library 또는 기능 테스트의 일부로 수행 할 수 있습니다. 스프링 MVC 컨트롤러의 통합 테스트.

  • Thymeleaf는 더 가볍고 강력한 구문과 Spring 에코 시스템과의 통합 성이 뛰어납니다. 그것은 개념 상 Spring과 통합하도록 설계되었지만 Spring 외부에서도 사용할 수 있습니다. 전자 메일 및 보고서 생성에 유용하다는 사실을 알게되었습니다.

  • Thymeleaf 템플릿을 사용하면 큰 재사용이 가능합니다. 작은 템플릿 단편을 만들어 다른 템플릿에서 재사용 할 수 있습니다. 이는 많은 템플릿이있는 프로젝트에서 생명의 은인입니다. 또한 유연성/전력이 더 필요하다면 community plugins을 찾을 수도 있지만 훌륭한 레이아웃 지원을 제공합니다.

면책 조항 : 나는 한 해 동안의 모든 Thymeleaf 개발을 완료하지 않은하지만 난 볼 수있는에서, 그것은 많은 것을 변경되지 않았습니다. Spring에서 this article을 볼 수도 있습니다. 약간 낡은 반면 주요 차이점을 설명합니다.