2011-04-14 7 views
9

J2EE, Spring 3.0n, Freemarker 및 jQuery를 사용하여 웹 응용 프로그램을 만들 계획입니다.freemarker 템플릿과 J2EE 같은 마스터 페이지를 사용하는

내 질문은 : 머리글과 바닥 글이있는 마스터 페이지를 만들고 모든 자바 파일을 포함 할 수있는 방법이있어서 모든 페이지에서 마스터 페이지를 직접 호출하고 모든 js 파일을 여러 번 포함하도록 시간을 절약 할 수 있습니까?

.Net은 마스터 페이지 개념을 제공하므로 Freemarker에서 자체 마스터 페이지를 만들고 싶습니다.

답변

9

기본적으로 매크로를 작성하고 masterTemplate이라고합시다.

[#macro masterTemplate title="defaultTitle"] 
    <!DOCTYPE html 
      PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta> 
     <title>${title}</title> 
     ... scripts, style sheets, meta information ... 
    </head> 
    <body> 
    <div id="header">...</div> 
    <div id="content"> 
     [#nested /] 
    </div> 
    <div id="footer>...</div> 
    </body> 
    </html> 
[/#macro] 

그런 다음,이 같은 페이지 내에서이 매크로를 사용

[#import "/path/to/masterTemplate.ftl" as layout /] 

[@layout.masterTemplate title="My test page"] 
    ...content goes here... 
[/@layout.masterTemplate] 

당신은 masterTemplate에 속성으로 페이지에서 모든 관련 데이터를 전달하여 장식 기법의 일종을 달성 : 제목을 참조하십시오 속성. 같은 방법으로 추가 스크립트와 스타일 시트를 전달할 수 있습니다.

이 기술은 여기에 표시됩니다 : Freemarker wiki

+0

덕분에 친구는 내가 많이 감사합니다 찾고 있던 일 이잖아 –

관련 문제