FreeMarker 설계 가이드 - 2

2570 단어
2
, 데이터 모델
(
1
) 기본
l
빠른 입문에서 템플릿에 사용되는 세 가지 기본 대상 유형을 소개했는데 그것이 바로 scalars,hashes,sequences입니다. 사실 더 많은 능력을 가질 수 있습니다.
Ø
scalars: 메모리 단수
Ø
hashes: 다른 대상을 충당하는 용기입니다. 각각 유일한 검색 이름과 연결됩니다.
Ø
sequences: 다른 대상의 용기를 충당하고 순서대로 접근
Ø
방법: 전달된 매개 변수를 계산하여 새로운 대상으로 결과를 되돌려줍니다
Ø
사용자 정의 FTL 태그:매크로 및 변환기
l
일반적으로 각 변수는 한 가지 능력만 가지지만 다음 예와 같이 한 변수는 여러 가지 능력을 가질 수 있습니다.
(root)
 |
 +- mouse = "Yerri"
     |
     +- age = 12
     |
     +- color = "brown">  

l
mouse는 scalars이자 hasheses로 위의 데이터 모델을 아래의 템플릿에 통합합니다.
${mouse}       <#-- use mouse as scalar -->
${mouse.age}   <#-- use mouse as hash -->
${mouse.color} <#-- use mouse as hash -->  

l
출력 결과:
Yerri
12
brown  

(
2
)
Scalar
변량
l
Scalar 변수는 다음과 같은 단일 값을 저장합니다.
Ø
문자열:템플릿에 큰 따옴표(작은 따옴표 또는 큰 따옴표)로 묶은 간단한 텍스트
Ø
숫자:템플릿에서 직접 숫자 값 사용
Ø
날짜: 날짜/시간과 관련된 데이터를 저장합니다. 날짜, 시간 또는 날짜-시간(Timestamp)일 수 있습니다.일반적인 경우, 날짜 값은 프로그래머가 데이터 모델에 추가하고, 디자이너는 그것들을 표시하기만 하면 된다
Ø
부울 값:true 또는 false, 일반적으로 <#if...> 태그에서 사용
(
3
)
hashes

sequences
및 컬렉션
l
일부 변수는 표시할 수 있는 내용이 없는 컨테이너로 다른 변수를 포함하는 두 가지 유형이 있습니다.
Ø
hashes: 유일한 검색 이름과 그에 포함된 모든 변수가 연결되어 있습니다
Ø
sequences: 숫자를 사용하여 모든 변수와 연결합니다. 색인 값은 0에서 시작합니다
l
집합 변수는 보통 sequences와 유사합니다. 접근할 수 없는 크기와 색인을 사용해서 하위 변수를 얻을 수 없는 경우를 제외하고는.집합은 <#list...> 명령으로만 사용할 수 있는 제한된 sequences로 볼 수 있습니다
(
4
) 방법
l
방법 변수는 일반적으로 주어진 매개 변수에 근거하여 계산한다
l
다음 예제에서는 메소드 변수 avg를 데이터 모델에 배치하여 숫자 평균을 계산하는 데 사용한다고 가정합니다.
The average of 3 and 5 is: ${avg(3, 5)}
The average of 6 and 10 and 20 is: ${avg(6, 10, 20)}
The average of the price of python and elephant is: ${avg(animals.python.price, animals.elephant.price)}

(
5
) 매크로 및 변환기
l
매크로 및 변환기 변수는 사용자 정의 명령 (사용자 정의 FTL 태그) 이며, 이 고급 기능들은 뒤에 설명됩니다.
(
6
) 노드
l
노드 변수는 트리 구조의 노드를 나타내며, 일반적으로 XML 처리에서 사용되며, 다음 전문 섹션에서 설명합니다.

좋은 웹페이지 즐겨찾기