2019-07-23 09:38

关键在于 DemoConfig.java 中的下面代码:
public void configEngine(Engine me) {
me.addSharedFunction("/common/_layout.html");
me.addSharedFunction("/common/_paginate.html");
}

me.addSharedFunction(...) 方法会将 .html 中的所有 #define xxx() 定义的模板函数给 "搞成" 全局的

所以你在任意页面都可以调用 _layout.htm 中的 #define layout() , 在任意页面都可以调用 _paginate.html 的 #define paginate(...)

目光回到你的 controller 中的 render("blog.html"),在 blog.html 中你会看到 #@layout() 这类调用,就是在调用前面提到的全局模板函数

这个逻辑并不复杂,就是先添加全局函数,然后任何地方调用

2019-07-22 16:32

1:检查 user 对象不能为 null
2:检查 user 对象所对应的类型有 getList() 方法,否则不能使用 use.list 表达式

2019-07-22 16:29

这个在新版本中改进过,你看看有的哪个版本,最新版本是 2.4

2019-07-22 15:21

1:access_token 的处理是自动化的,你只需要调用 jfinal weixin 中的各种 XxxApi 实现功能即可

2:做一个 action,然后手动在浏览器请求一下这个自定义菜单的 action 即可,当然这个 action 要有权限控制,不能什么人都能调用

2019-07-22 10:40

@xkcoding 项目在 gitee.com 有在 gitee.com 上放过一份没?

jfinal 在 gitee.com 的流量很大,如果 jfinal-justauth-demo 在 gitee 上有副本,我可以 fork 一份过去,可以增加此项目的关注度

2019-07-22 10:29

@你妹啊 renderQrCode("http://www.jfinal.com");

不能再简单了

2019-07-22 09:23

@Dreamlu 思路独特、巧妙,将代码提前写好,等待打包后生成的文件,从未见过在编译有人这么用过,赞

2019-07-21 17:06

收藏 + 点赞

2019-07-21 17:06

docker 应用越来越广泛,这个分享很有价值,内容很详细,方便学习使用,谢谢分享

2019-07-21 17:05

@supadmin 注释掉 DemoConfig 中的那行出错代码即可,你不使用 undertow ,那行代码就是多余的了

2019-07-21 17:03

反馈错误发地到了分享频道,后续会删掉该贴,请知悉

2019-07-21 17:01

jfinal event 这次类扫描提到编译期提升十倍的启动速度,用到了什么黑科技,能否一并分享一下

2019-07-21 17:00

春梦大神很早就参与到了 jfinal 生态,为 jfinal 做出了很大贡献

尤其是对 jfinal weixin 项目的贡献十分巨大,因此 jfinal weixin 上一次被评为开源中国最受欢迎开源项目奖的时候,我建议 oschina 将评选归于 @卢春梦 , 并将所有奖品寄送到了春梦那里

jfinal event 简洁、方便,完全符合 jfinal 极简设计思维。春梦大神这些年对 jfinal 社区的贡献不会白费,起码收获了 jfinal 极简设计思维,这个思维将会无时不刻影响着后续的设计、开发,不断创造出价值