문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:template_engine:freemarker [2013/06/12 23:16] kwon37xi [Java 코드로 만드는 지시자(Directives)] |
java:template_engine:freemarker [2015/11/26 21:14] (현재) kwon37xi [Template Cache] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Freemarker ====== | ====== Freemarker ====== | ||
- | * http:// | + | * http:// |
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
===== Eclipse Editor 등록 ===== | ===== Eclipse Editor 등록 ===== | ||
* '' | * '' | ||
- | |||
===== null 검사 ===== | ===== null 검사 ===== | ||
* http:// | * http:// | ||
+ | * [[http:// | ||
+ | * ''??'' | ||
< | < | ||
- | - null인가? | + | - null이 아닌가?(아니면 true) |
<#if aVariable??> | <#if aVariable??> | ||
줄 17: | 줄 21: | ||
혹은 | 혹은 | ||
<#if aVariable!? | <#if aVariable!? | ||
+ | |||
+ | - Missing Value Operator. someValue가 존재하는가? | ||
+ | <#if someValue??> | ||
+ | ... | ||
+ | |||
+ | - someValue와 someProp이 모두 존재해야 true | ||
+ | <#if (someValue.somePrope)??> | ||
+ | </ | ||
+ | |||
+ | ===== null 기본값 ===== | ||
+ | * '' | ||
+ | * 단, **'' | ||
+ | * null 일 경우 기본값으로 대체. 기본값표현식을 생량하고 '' | ||
+ | |||
+ | < | ||
+ | someValue!" | ||
+ | |||
+ | - 아래 구문은 작동하지 않는다. "' | ||
+ | <#if someValue!' | ||
+ | -> 다음처럼 변경할 것 | ||
+ | <#if (someValue!' | ||
+ | |||
+ | |||
+ | colors![' | ||
+ | |||
+ | - someValue가 null이라도 자동으로 기본값으로 지정된다. | ||
+ | (someValue.someProp)!' | ||
</ | </ | ||
줄 35: | 줄 66: | ||
* JSP의 Function 커스텀 태그 같이 함수 역할의 모델을 만들어 사용할 수 있다. | * JSP의 Function 커스텀 태그 같이 함수 역할의 모델을 만들어 사용할 수 있다. | ||
* [[http:// | * [[http:// | ||
- | * [[http:// | + | * [[http:// |
* [[http:// | * [[http:// | ||
- | ===== BeansWrapper | + | ===== TemplateDirectiveModel |
+ | * 커스텀 지시자(Directive)를 만든다. | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ===== ObjectWrapper ===== | ||
+ | * [[http:// | ||
+ | * Freemarker에서 템플릿에 전달된 데이터 모델 객체를 템플릿에 적합하게 변환하는 역할. | ||
+ | |||
+ | ==== ObjectWrapperAndUnwrapper ==== | ||
+ | * [[http:// | ||
+ | * '' | ||
+ | |||
+ | ==== BeansWrapper | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | ===== 설정 ===== | ||
+ | ==== 숫자 포맷팅 ==== | ||
+ | * 기본적으로 로케일에 따라 쉼표 혹은 마침표를 붙여주는 방식으로 숫자를 출력하므로 보통 숫자로 출력하려면 아래와 같은 설정이 필요하다.< | ||
+ | cfg.setNumberFormat(" | ||
+ | </ | ||
+ | ==== Template Cache ==== | ||
+ | 캐시를 지정해 속도를 높여야 한다. | ||
+ | [[http:// | ||
+ | |||
+ | <code java> | ||
+ | cfg.setTemplateUpdateDelayMilliseconds(3600000L); | ||
+ | cfg.setCacheStorage(new MruCacheStorage(500, | ||
+ | </ | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * 기본값은 '' | ||
+ | * '' | ||