【发布时间】:2018-03-03 05:28:00
【问题描述】:
我正在设置一些自定义 Netbeans Java 模板。当我使用不带参数的内置函数(例如${name?lower_case})时,我的模板可以正常工作。但是,当我使用带参数的函数时,最终会出现错误(生成的文件为空)。
所谓的函数是removing_ending。我有一个 Test.java 并且我想生成一个依赖于 Test.java 的 TestView.java:
<#assign type = ${name?remove_ending("View")}>
<#if package?? && package != "">
package ${package};
</#if>
import com.company.project.AbstractClass;
public class ${name} extends AbstractClass<${type}>{
}
我想知道我是否错过了一些导入,但据说该功能是内置,所以我认为它是可用的。
- 我尝试在模板顶部添加
<#ftl>,但没有成功 - 在
View单词周围使用type = "${name?remove_ending("View")}"(双引号)或转义引号均无济于事
编辑和解决方案
- 在 Windows 上,Netbeans 日志位于 %USER_HOME%/AppData/Roaming/NetBeans/{netbeans version}/var/log/messages.log
- 我没有查找使用的是哪个版本的 FreeMarker Netbeans 8.2,但命令
remove_ending根本不可用。我用了name?substring(0, name?length - 4) - 模板文件本地化在 %USER_HOME%\AppData\Roaming\NetBeans{netbeans 版本}\config\Templates
【问题讨论】:
标签: java templates netbeans freemarker