2009년 9월 12일 토요일

[freemarker]주요 BI

freemarker reference : http://freemarker.sourceforge.net/docs/index.html
Built-in Reference : http://freemarker.sourceforge.net/docs/ref_builtins.html

레퍼런스 문서 정말 잘 되있다.
필요한건 위의 링크 타고 보면 되고 그외
필요하고 자주 쓰는 것만 따로 뽑았다.

list 관련

_index
- for문(<#list ..>) 돌리다 보면 이게 몇번째인지 궁금할 수 있다.
  한 row에 4개씩 보여 줘야 한다든지 할때 alias로 할당된 변수에 "_index"붙이면
  sequence를 구할 수 있다.  
- 예 :
   <#list array as output>
        ${output_index}
   </#list>

_has_next
- 배열값 중에 다음 값이 존재하는지 여부를 반환한다.
- 예 :
   <#list array as output>
        ${output_index}
        <#if output_has_next></tr></#if>
   </#list>


문자열 관련 

[x...y]
- 문자열의 일정 범위를 자를때 사용하는 함수
- 예 :
-----------------------------
  ${hello}<br>
  ${hello[1..4]}<br>
  ${hello?substring(1,4)}<br>
-----------------------------
null님 안녕하세요
ull님
ull
-----------------------------
substring과는 조금 다른 결과를 확인할 수 있다.


null 처리 관련

?has_content
- 배열값이 null이 아니고 1개 이상인지 체크하는 함수
  ?exists와 ?size>0 두가지 기능을 포함한다.
- 예 :
 <#if array?has_content>
    ... 처리
 </#if>

?exists
- null 체크
- 예 :
 <#if user?exists>
    ... 처리
 </#if>

?default
- 오브젝트의 값이 null인 경우 입력된 사용자값을 반환한다.
- 예 :
  ${user?default("")}


!"대체값"
- 만약 값이 없다면 ! 값 뒤에 정의된 값이 할당된다.
- 예 :
${hello!'안녕하세요'}
이렇게 하면 값이 없으면 "안녕하세요"가 찍힌다.

??
- null 여부에 따라 true, false 반환
- 예 :
<#if user??>${user}<#else>사용자</#if>
${user!"사용자"} 이것과 동일한 결과를 반환한다.

댓글 없음:

댓글 쓰기