2011-04-14 3 views
2

나는 JSP와 동등한 freemarker ftl을 생성해야하는 하나의 POC에서 작업하고 있습니다. 목표는 jsp와 동등한 ftl 파일을 만드는 것이 얼마나 쉬운 지 알아내는 것입니다. jsp 파일에서 일부 스크립틀릿을 발견했으며 ftl에서 코드를 작성하는 데 어떤 방법을 사용해야하는지 잘 모릅니다. 스크립틀릿 코드를 지원하는 태그를 만들지 만, 모든 스크립트 릿에 대해 태그를 쓰는 데 너무 비싸게됩니다 (5 월에 완전히 잘못 될 수 있습니다). 나는 여기 붙어있다. sriptlet에 동일한 코드를 작성하는 최선의 방법을 말해 줄 수 있습니까?방법 : freemarker에있는 jsp 스크립트 렛과 동등한 코드

감사합니다. Hanumant.

+0

freemaker의 모든 목적은 html로 코드를 혼합하는 것을 방지하는 것입니다. 즉, html에 "scriptlet"을 넣지 않으려 고합니다. – Jacob

답변

6

FreeMarker와 JSP의 주된 차이점 중 하나는 FreeMarker가 템플릿의 임의 코드 조각을 지원하지 않는다는 것입니다. 우려의 분리가 관련된 한, 이것은 아주 좋은 것입니다.

JSP 스크립틀릿을 FreeMarker 템플릿으로 변환해야하는 경우 먼저 스크립틀릿이 실제로 수행하는 작업을 검토해야합니다. 그 중 일부는 해당 매크로로 대체 될 수 있습니다. 예를 들면 :

<#if (x < 3)> 

당신은 아이디어를 얻을 :

<% if (x < 3) { %> 

쉽게 교체 할 수 있습니다.

나머지 스크립트 렛은 사용자 정의 FreeMarker 매크로로 대체 될 수 있지만 대신에 다음과 같은 질문을해야합니다. 템플릿에서 너무 많이하지 않습니까?

Java 코드가 포함될 수있는 일반 매크로를 작성하는 경우 JSP가 런타임에 실제로 Servlet으로 컴파일되지만 FreeMarker 템플릿 처리에는 Java 컴파일이 필요하지 않기 때문에 매우 어려울 것입니다. 어느 것이 다시 한번 좋은 것입니다.