문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:template_engine:freemarker [2013/12/01 15:59] kwon37xi |
java:template_engine:freemarker [2015/11/26 21:14] (현재) kwon37xi [Template Cache] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Freemarker ====== | ====== Freemarker ====== | ||
- | * http:// | + | * http:// |
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
줄 10: | 줄 10: | ||
===== null 검사 ===== | ===== null 검사 ===== | ||
* http:// | * http:// | ||
+ | * [[http:// | ||
+ | * ''??'' | ||
< | < | ||
- | - null인가? | + | - null이 아닌가?(아니면 true) |
<#if aVariable??> | <#if aVariable??> | ||
줄 29: | 줄 31: | ||
===== null 기본값 ===== | ===== null 기본값 ===== | ||
+ | * '' | ||
+ | * 단, **'' | ||
+ | * null 일 경우 기본값으로 대체. 기본값표현식을 생량하고 '' | ||
+ | |||
< | < | ||
- | ${someValue!" | + | someValue!" |
+ | |||
+ | - 아래 구문은 작동하지 않는다. "' | ||
+ | <#if someValue!' | ||
+ | -> 다음처럼 변경할 것 | ||
+ | <#if (someValue!' | ||
+ | |||
+ | |||
+ | colors![' | ||
+ | - someValue가 null이라도 자동으로 기본값으로 지정된다. | ||
+ | (someValue.someProp)!' | ||
</ | </ | ||
줄 50: | 줄 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:// | ||
- | |||
===== 설정 ===== | ===== 설정 ===== | ||
==== 숫자 포맷팅 ==== | ==== 숫자 포맷팅 ==== | ||
- | * 기본적으로 로케일에 따라 쉼표 혹은 마침표를 붙여주는 방식으로 숫자를 출력하므로 보통 숫자로 출력하려면 아래와 같4ㅡ 설정이 필요하다.< | + | * 기본적으로 로케일에 따라 쉼표 혹은 마침표를 붙여주는 방식으로 숫자를 출력하므로 보통 숫자로 출력하려면 아래와 같은 설정이 필요하다.< |
cfg.setNumberFormat(" | cfg.setNumberFormat(" | ||
+ | </ | ||
+ | ==== Template Cache ==== | ||
+ | 캐시를 지정해 속도를 높여야 한다. | ||
+ | [[http:// | ||
+ | |||
+ | <code java> | ||
+ | cfg.setTemplateUpdateDelayMilliseconds(3600000L); | ||
+ | cfg.setCacheStorage(new MruCacheStorage(500, | ||
</ | </ | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * 기본값은 '' | ||
+ | * '' | ||