如何删除 FreeMarker 模板中的文件扩展名

How to remove file extension in a FreeMarker template

我的Freemarker模板如下: file : ${filename}

在 java 代码中 filename 是一个字符串,其扩展名可以变化: "the_file_name.ext" or "the_file_name.mpas" or even "the_file_name"

我想要的结果: file : the_file_name

FreeMarker 是否提供我正在寻找的功能?例如 : file : ${filename?without_extension}

我找到了一个解决方法,使用拆分:http://freemarker.org/docs/ref_builtins_string.html#ref_builtin_split

从 FreeMarker 2.3.22 开始,您可以使用 ${filename?keep_before_last(".")}。我测试过,如果 filename 不包含任何 ..

,这甚至可以按预期工作

http://freemarker.org/docs/ref_builtins_string.html#ref_builtin_keep_before_last