2017-12-27 22 views
0

데이터베이스에 템플릿을 저장하는 환경에서 프리 마커 코드를 구현하고 있습니다. ROW_ID = '키' 있는 행의 값을 표시합니다 예를<#include> 오류가 재발생 : 리소스를 찾을 수 없습니다.

${bundle.key} 

에 대한 그러나 내가 사용할 때 작동하지 않습니다 지시어 것을 포함한다. 내가

${GenF.PriceFormat(1.568)} 

을 실행하면

<#function PriceFormat Number> 
<#return Number?string['0.0000']> 
</#function> 

다음 예상대로 I 출력을

1.5680 

를 먹을수록 나는 키 GenF와 템플릿을 가지고있다.

Can't find resource for bundle ...structures.shared.localization.bl.MultiResourceBundle, key 

내가이 지시문을 잘못 포함 사용합니까, 또는 무언가가 우리의 프로그래머에 의해 데이터 모델에서 제대로 정의되지 않은입니다 : 내가

<#include bundle.GenF> 
${PriceFormat(1.568)} 

을 실행할 때 는하지만 오류 메시지가 나타납니다?

답변

0

#include 템플릿이 아닌 템플릿 콘텐츠 자체의 이름 (경로, "파일"이름)을 기대하고있다. 참조 : https://freemarker.apache.org/docs/ref_directive_include.html

<@bundle.GenF?interpret />이 무엇입니까? #include으로 템플릿을 호출 할 때와 달리 파싱 된 템플릿은 캐시되지 않습니다. #include에 대해 "bundle.GenF"를 템플릿 이름 (또는 "bundle:/GenF"과 같은 것으로 해결할 수 있지만 사용자의 선택에 따라 다름) 인 경우 사용자 정의 TemplateLoader (Configuration.setTemplateLoader 참조)을 사용해야합니다.

사용자 지정 숫자 서식을 정의 할 때만이 것이 필요한 경우 ${[email protected]_GenF}과 같은 사용자 지정 숫자 서식 (https://freemarker.apache.org/docs/pgui_config_custom_formats.html)을 사용할 수도 있습니다.