2019-07-23 12:12

@瑟瑟发抖的小菜鸟 以 jfinal 官方的 jfinal_demo_for_maven 为例,用下面的方式来理解,以免绕远了:
1:下面两行代码会将 _layout.html、_paginate.html 中定义的 #define layout()、#define paginate() 这两个模板函数给 "搞成" 全局的
me.addSharedFunction("/common/_layout.html");
me.addSharedFunction("/common/_paginate.html");

2:你的 render("blog.html") 调用中的 blog.html 中的第一行代码是:
#@layout()

上面这行代码调用了前面提到的被 "搞成" 全局的 #define layout() 模板函数

3:现在程序走到了 _layout.html 中的 #define layout() 中,继续往下走,会走到:
#@main()

上面的代码会调用你在 blog.html 中定义的 #define main() 模板函数

其实整个流程,你就当成 java 里头的方法定义与方法调用

2019-07-23 11:28

@1234567856756745 jfinal 诞生超过八年多时间,从未碰到过这类问题

看来这个问题,只能是你仔细排查, 404 的问题太好排查了

大不了你做个远程调试:
http://www.jfinal.com/share/1528
http://www.jfinal.com/feedback/5106

2019-07-23 10:57

http 协议规定了 url 中不支持中文,这个不是 jfinal 能决定的

需要你手动将 url encode 一下:
url = URLEncoder.encode(url, "UTF-8")
redirect(url);

2019-07-23 10:54

@瑟瑟发抖的小菜鸟 笔误, #define layout() 是 _layout.html 中定义的,在 blog.html 中调用的是 #@layout()

笔误已在回复中更正

2019-07-23 09:39

强调一下,这个在文档中有详细说明,一定要先看文档,不要猜谜式的使用

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 ,那行代码就是多余的了