2019-06-08 10:19

fly 这套社区 UI 很简洁,而且经过多年验证,肯定是实用的

一般的小型社区用你这个搭建太方便了,我自己也 fork 了一份,方便介绍给有需要的同学们部署使用,谢谢你的分享

2019-06-08 10:17

@jfinal4cyy 爱好、追求是成功的起点,任何事情要做到顶尖都需要长时间努力,而长时间努力的保障就是爱好,否则要么半途而废,要在达不到顶尖

sharedFunction 可通过扩展指令,在其 Env 对象中获取,sharedMethod 试一下通过 engine.setEngineConfig().getSharedMethodKit() 拿到 SharedMethodKit 对象,然后通过 Java 反射拿到里面的东东

这些事情要通过了解源码去找到方法

2019-06-08 10:12

如果是使用 jfinal-undertow 开发的话, sql 文件会被打到 jar 包中,如果要修改的话就不方便了

所以你的分享通过配置来决定 sql 模板的加载方式,对于打包后的 sql 修改很方便

感谢分享

2019-06-08 10:05

可能是没配置enctype 为 "multipart/form-data"

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

记得搞定后回来分享,自定义指令的方法最符合你的预期

2019-06-07 17:47

先不说 #define 与模板函数安全调用可以解决你的问题,连最为灵活、动态的 #call 指令都给你了,还有啥 nested 是不能实现的:
#define myList(funcName, map)
#for(...)
#if(...)

#call(funcName, map)

#end
#end
#end

#define myFunc(user)
#(user.id)
#(user.name)
#end

// 动态传入被调用函数 myFun
#@myList("myFunc", {user : {id : 123, name : "james"} } )

2019-06-07 17:38

String sql = "UPDATE student SET stu_code=? , stu_name=?,stu_sex=?,birthday=?,class_id=? WHERE stu_id=?";

Db.update(sql, stuCode, sutName, stuSex, birthDay, classId, stuId);

2019-06-07 17:37

Map map = FastJson.getJson().parse(json, Map.class);

然后从 map 中获取

2019-06-07 17:36

生成器会自动生成相适应的 getter、setter 方法

Db.find (...) 出来的 Record 对象,可以使用 getInt getLong 等方法,完全兼容 Byte

2019-06-07 17:06

@RichardHe 自立更生,丰衣足食,忧患意识一定要有,没有错的

2019-06-07 17:04

迭代速度很快,技术水平也不错,相信会有不错的发展

2019-06-07 17:03

代码挺简洁,看得出有水平,感谢分享

2019-06-07 17:02

从异常提示来看,你用的是很古老的 jfinal 版本

很古老的版本对 sql 中的 table name 有检测,检测你当前 sql 需要存在与 model 映射过的 table name

为了更大的灵活性,早在一两年前就移除了这个检测

升级以后不会检测这个 table name

2019-06-07 16:59

数据库权限层面的事情,jfinal 肯定是不方便插手的