2013-09-26 1 views

답변

13

가 그 가능한 보편적 인 해결책은 없다,하지만 당신은 데이터 모델 그냥 평소 Map 또는 자바 빈즈 경우이 작동

<#list .data_model?keys as key> 
    ${key} 
</#list> 

시도 할 수 있지만,보다 정교한 데이터 모델은 데이터에 달려 - 모델 구현이 ?keys을 지원하고 실제로 모든 것을 반환하는 경우

는 또한 가지고있는 위와 같이 나열 할 수는 템플릿에 설정된 변수 만 대신 .data_model의 사용 .globals.locals (현재 템플릿 네임 스페이스를 의미) .namespace.

또한 Configuration -level 공유 변수를 가질 수 있으며, FTL에서 순수하게 사람들을 나열 할 수있는 방법이 없다 (당신은 비록 Configuration.getSharedVariableNames()를 읽고 그것에 대한 사용자 정의 TemplateMethodModel를 작성하고, 템플릿에서 호출 할 수있다).

물론 이상적으로 FreeMarker에는 <#show_variables> 지시어 또는 기타 사항이 있어야합니다.이 모든 것을 보여주기위한 최선의 노력은 있지만 ... 슬프게도 그런 일은 아직 없습니다.

+0

'확장 된 해시가 필요하지만 해시로 평가되었습니다.'오류가 발생했습니다. '.data_model' 해시가? keys 해시 연산자를 지원하지 않는다는 것을 의미합니까? –

+0

예. 비 확장 해시는 자체 키 또는 값을 열거 할 수 없습니다. – ddekany

관련 문제