FreeMarker 中文官方参考手册http://freemarker.foofun.cn/toc.html
一、BUG背景:
在跟做项目的过程中,需要动态生成页面,采用了freemarker模板引擎,在使用${}进行替换时报错:
严重: Error executing FreeMarker template
FreeMarker template error:
The following has evaluated to null or missing:
==> Author [in template "MainTemplate.java.ftl" at line 7, column 14]
.ftl文件如下所示
package com.yupi.acm;
import java.util.Scanner;
/**
* ACM 输入模板(多数之和)
* @Author: ${Author}
*/
public class MainTemplate {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
<#if loop>
while (scanner.hasNext()) {
</#if>
// 读取输入元素个数
int n = scanner.nextInt();
// 读取数组
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
// 处理问题逻辑,根据需要进行输出
// 示例:计算数组元素的和
int sum = 0;
for (int num : arr) {
sum += num;
}
System.out.println("${outputText}" + sum);
<#if loop>
}
</#if>
scanner.close();
}
}
二、解决办法
将${Author}改为${author}即可
三、原因
具体原因目前我也没有搞清楚,希望大佬们看到了可以补充一下,谢谢~~~