2019-06-08 10:17
@jfinal4cyy 爱好、追求是成功的起点,任何事情要做到顶尖都需要长时间努力,而长时间努力的保障就是爱好,否则要么半途而废,要在达不到顶尖
sharedFunction 可通过扩展指令,在其 Env 对象中获取,sharedMethod 试一下通过 engine.setEngineConfig().getSharedMethodKit() 拿到 SharedMethodKit 对象,然后通过 Java 反射拿到里面的东东
这些事情要通过了解源码去找到方法
2019-06-08 10:03
应该是你的运行环境有问题,检查一下安装的是否为 JDK, JRE 是不可以的
再检查 JDK 最低要是 1.8 版本
最后,环境变量 CLASSPATH 最重要,检查配的环境变量,CLASSPATH 配置要是下面这样:
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
如果是 windows 系统,检查环境变量 CLASSPATH 的值为:
%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
记得搞定后回来分享
升级到 4.2 功能、性能各方面要好很多
2019-06-08 09:47
@Sohnny 目前你的 freemareker实现只是少了一行代码,但enjoy 的用法可以传递参数,还可以改变被回调的函数名,而 freemarker 是定死的
再者 enjoy 的用法是函数定义与调用的逻辑,而 freemarker 的 nested 的用法很古怪,新手很难理解
最后,如果你一定要用 enjoy 实现目前 freemarker 的用法用下指令扩展即可,假定你定义了一个 #query 指令,用法如下:
#query(paras)
#(r.COLUMN_COMMENT.name)
#end
记得搞定后回来分享,自定义指令的方法最符合你的预期