2011-01-20 5 views
6

freemarker 템플릿에서 사용할 수있는 모든 변수를 덤프하려고합니다. 내가 .vars 그러나 내가 노력하고있어 보여 위를 사용하고 키 기능을 지원하지 않는 문서를 읽을Freemarker에서 .vars의 모든 값을 덤프합니다.

<#list .vars?keys as prop> 
${prop} = ${.vars.get(prop)} 

</#list>

: 내가 좋아하는 뭔가를 사용하려고 해요 할 것.

Freemarker의 첫 번째 날이므로 조언이 필요합니다.

+0

은 [이] 한 번 봐 (http://stackoverflow.com/a/19039195를 타고 출력

<#assign someVar = 12> <#list .main?keys as var> ${var} </#list> 

/355438) 대답 – Lu55

답변

4

템플릿에 사용할 수있는 모든 변수를 나열 할 수 있다고 생각하지 않습니다. 나는 당신이 can't 그들을 자바로 목록으로 만든다.

FreeMarker는 매우 잘 documented입니다. special variables in FreeMarker에서 해당 부분을 확인하십시오. 그 어떤 위로가 있다면, 당신은 로컬 변수에 액세스 할 수 있습니다

,

someVar 
+0

고마워, 앤디. 내가 Environment.getKnownVariableNames()를 찾았는데, 내가 원하는 것을 할 수 있을지 모르겠다. 나는 환경을 얻는 방법을 알아낼 수 없다 .-P –

+0

나는 그것을 보았지만 발견했다. 내가 예상했던대로 작동하지 않습니다. 내가 가진 한 가지 이론은 Freemarker가 data_model에서 변수의 목록을 가지고 있지 않은 것입니다. 왜냐하면 런타임에 get 메소드에서 검색하기 위해 반사를 시도하기 때문입니다. 그러나 freemarker 코드를 충분히 검증 할 수는 없습니다. – Andy

+0

Andy, 감사합니다. Andy, 이름을 가진 그러한 키의 값을 출력하는 방법에 대해 궁금합니다. (기간). Freemarker는의 오른쪽을 평가하려고했습니다. 어떤 객체의 속성으로 .data_model 특수 변수를 사용하여이 작업을 수행 할 수있었습니다. – jatanp

관련 문제