Spring 使用<#ftl>;freemarker模板中的指令
我试图让Freemarker将我的模板文件解析为UTF-8,但它似乎总是将它们解析为Cp1252Spring 使用<#ftl>;freemarker模板中的指令,spring,encoding,character-encoding,freemarker,Spring,Encoding,Character Encoding,Freemarker,我试图让Freemarker将我的模板文件解析为UTF-8,但它似乎总是将它们解析为Cp1252 2013-07-30 00:00:00.984 DEBUG freemarker.cache:? Could not find template in cache, creating new one; id=["myFile.ftl"["es_MX",Cp1252,parsed] ] 我搜索并允许我指定编码 我将其添加到模板文件(保存在UTF-8中,BOM保存在Notepad++)中,如下所示:
2013-07-30 00:00:00.984 DEBUG freemarker.cache:? Could not find template in cache, creating new one; id=["myFile.ftl"["es_MX",Cp1252,parsed] ]
我搜索并允许我指定编码
我将其添加到模板文件(保存在UTF-8中,BOM保存在Notepad++)中,如下所示:
埃斯蒂马多·乌萨里奥,
正在测试此内容!
但是把这个记在日志里
MessageTemplateException [message=Unable to process template due to Encountered "<#ftl " at line 1, column 4 in myFile.ftl.
Was expecting one of:
<EOF>
<ATTEMPT> ...
<IF> ...
<LIST> ...
<FOREACH> ...
<SWITCH> ...
<ASSIGN> ...
<GLOBALASSIGN> ...
<LOCALASSIGN> ...
<_INCLUDE> ...
<IMPORT> ...
<FUNCTION> ...
<MACRO> ...
<TRANSFORM> ...
<VISIT> ...
<STOP> ...
<RETURN> ...
<CALL> ...
<SETTING> ...
<COMPRESS> ...
<COMMENT> ...
<TERSE_COMMENT> ...
<NOPARSE> ...
<BREAK> ...
<SIMPLE_RETURN> ...
<HALT> ...
<FLUSH> ...
<TRIM> ...
<LTRIM> ...
<RTRIM> ...
<NOTRIM> ...
<SIMPLE_NESTED> ...
<NESTED> ...
<SIMPLE_RECURSE> ...
<RECURSE> ...
<FALLBACK> ...
<ESCAPE> ...
<NOESCAPE> ...
<UNIFIED_CALL> ...
<WHITESPACE> ...
<PRINTABLE_CHARS> ...
<FALSE_ALERT> ...
"${" ...
"#{" ...
with inputs of {loginUrl=testURL} in myFile.ftl with locale es_MX, code=SUCCESS, arguments=[]]
MessageTemplateException[message=无法处理模板,因为遇到“不要使用BOM。也不要使用
,只有
。但最重要的是,如果大多数模板都是UTF-8格式,只需将FreeMarker的默认编码设置为UTF-8(在春季,类似…UTF-8
),因此您不需要使用#ftl
。
抛出一个错误遇到“@Daniel那是什么FreeMarker版本?打印什么内容${.version}
根据WebSphere nodes文件夹中的JAR,它似乎是v2.3.28。它来自prem安装上的IBM连接。${.version}
给了我一个不存在的错误。看起来IBM再次在核心修改上出错了……但是我找到了一个解决办法,用\u
转义特殊字符,比如\u00E4
来表示´´´´。这是@Daniel FreeMarker甚至不支持\u
的主要原因。我想这不在templa中te,但在数据源中显示。如果它不知道${.version}
,那么这是一个非常非常旧的版本。我想你有另一个优先使用的freemarker jar。
MessageTemplateException [message=Unable to process template due to Encountered "<#ftl " at line 1, column 4 in myFile.ftl.
Was expecting one of:
<EOF>
<ATTEMPT> ...
<IF> ...
<LIST> ...
<FOREACH> ...
<SWITCH> ...
<ASSIGN> ...
<GLOBALASSIGN> ...
<LOCALASSIGN> ...
<_INCLUDE> ...
<IMPORT> ...
<FUNCTION> ...
<MACRO> ...
<TRANSFORM> ...
<VISIT> ...
<STOP> ...
<RETURN> ...
<CALL> ...
<SETTING> ...
<COMPRESS> ...
<COMMENT> ...
<TERSE_COMMENT> ...
<NOPARSE> ...
<BREAK> ...
<SIMPLE_RETURN> ...
<HALT> ...
<FLUSH> ...
<TRIM> ...
<LTRIM> ...
<RTRIM> ...
<NOTRIM> ...
<SIMPLE_NESTED> ...
<NESTED> ...
<SIMPLE_RECURSE> ...
<RECURSE> ...
<FALLBACK> ...
<ESCAPE> ...
<NOESCAPE> ...
<UNIFIED_CALL> ...
<WHITESPACE> ...
<PRINTABLE_CHARS> ...
<FALSE_ALERT> ...
"${" ...
"#{" ...
with inputs of {loginUrl=testURL} in myFile.ftl with locale es_MX, code=SUCCESS, arguments=[]]