Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 与spring Internationalization集成freemarker模板时出错_Templates_Internationalization_Freemarker - Fatal编程技术网

Templates 与spring Internationalization集成freemarker模板时出错

Templates 与spring Internationalization集成freemarker模板时出错,templates,internationalization,freemarker,Templates,Internationalization,Freemarker,我正在使用freemarker模板生成电子邮件。我将freemarker与spring结合使用。我很难用参数替换实现国际化。我用它来代替一个参数。 例如: message.hello=hello,{0} 在fm模板中 我有点像 但是,我不知道如何对多个参数进行替换 message.greet=你好{0},欢迎来到{1} 我如何在模板中表示这一点? 当我尝试以下方法时: 它不起作用。你能帮忙吗? 查看spring源代码中的spring.ftl,该宏被定义为${springMacroReques

我正在使用freemarker模板生成电子邮件。我将freemarker与spring结合使用。我很难用参数替换实现国际化。我用它来代替一个参数。 例如:

message.hello=hello,{0}

在fm模板中 我有点像

但是,我不知道如何对多个参数进行替换

message.greet=你好{0},欢迎来到{1}

我如何在模板中表示这一点? 当我尝试以下方法时:

它不起作用。你能帮忙吗?
查看spring源代码中的
spring.ftl
,该宏被定义为
${springMacroRequestContext.getMessage(code,args)}
,这是有问题的,因为
org.springframework.web.servlet.support.RequestContext
中的
getMessage
有几个重载,您想调用
getMessage>(字符串代码,对象[]args)
getMessage(字符串代码,列表args)
。因此您需要:

<@spring.messageArgs "message.greet", [name, place] />

请注意,因为还有一个
getMessage(stringcode,stringdefaultvalue)
重载,所以即使只有一个参数,也需要使用
[]
,否则它将是默认值