Java FreeMarker通过连接另一个变量值来获取变量值 公共类主{ 公共静态void main(字符串[]args)引发IOException、TemplateException{ 配置freemarkerConfig=新配置(); freemarkerConfig.setClassForTemplateLoading(Main.class,“”); Template Template=freemarkerConfig.getTemplate(“Template.ftl”); 映射数据=新的HashMap(); 对于(inti=1;i
而不是尝试创建一个变量(我认为这种方式不可能),我建议为模板提供一个数组 像这样Java FreeMarker通过连接另一个变量值来获取变量值 公共类主{ 公共静态void main(字符串[]args)引发IOException、TemplateException{ 配置freemarkerConfig=新配置(); freemarkerConfig.setClassForTemplateLoading(Main.class,“”); Template Template=freemarkerConfig.getTemplate(“Template.ftl”); 映射数据=新的HashMap(); 对于(inti=1;i,java,freemarker,templating,Java,Freemarker,Templating,而不是尝试创建一个变量(我认为这种方式不可能),我建议为模板提供一个数组 像这样 <#assign containerIndex=1> ${map_containerIndex} This gives error I want to evaluate ${map_1} String[]stringArray=新字符串[11]; 对于(int i=1;i您可以读取具有运行时生成名称的变量,如.vars['map\u'+i]。这与tom在回答中使用的技巧相同,但适用于读取顶级变量。假
<#assign containerIndex=1>
${map_containerIndex}
This gives error
I want to evaluate ${map_1}
String[]stringArray=新字符串[11];
对于(int i=1;i您可以读取具有运行时生成名称的变量,如.vars['map\u'+i]
。这与tom在回答中使用的技巧相同,但适用于读取顶级变量。假设我的返回类型为Object.vars['map\u'+i].name
这个方法行吗?我不明白你的问题,但无论如何,.vars[…]
只是一个表达式,可以给你任何类型的值。它没有什么特别之处。
<#assign containerIndex=1>
${map_containerIndex}
This gives error
I want to evaluate ${map_1}
String[] stringArray = new String[11];
for (int i = 1; i<= 10; i++) {
stringArray[i] = "value"+i;
}
data.put("map", stringArray);
<#assign containerIndex=1>
${map[containerIndex]}
String[] stringArray = new String[10];
for (int i = 0; i < 10; i++) {
stringArray[i] = "value"+i;
}