2021-03-11 15:45

@北流家园网 8 错 8 错 👍👍👍

2021-03-11 15:43

@山东小木 这个做好不容易,有没有开源的好用的可以直接用?

如果没有的话,你这个可以单拿出来商用,做成一个独立的产品,卖授权

2021-03-11 12:09

@北流家园网 你这个好像是装启动封装在了一个带 UI 的程序中,分享一下怎么打包到这种项目中的

2021-03-11 12:02

@永字诀 具体到你的应用,改成下面这样的为好:
engine.addSharedObject("Site", new SiteInfo());

用的时候这样:
#(Site.url)

siteUrl 属性名改为 url 为好,因为有了 Site. 前缀,siteUrl 是一种重复

2021-03-11 11:59

@杜福忠 这个办法极好,我现在改下文档

@永字诀 杜同学的办法是极好的, shared object 在直觉用大写开头挺好

2021-03-11 11:57

这个技术难度高,工作量大,赞一个

2021-03-11 00:28

获取变量是在 Scope 的 get(Object key) 方法中,优先级是 Scope 内的 Map data 高于 shared object,源码在这里:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/template/stat/Scope.java

在 get(Object key) 中设置一个断点,调试一下可以了解更深入

目前在页面直接优先获取 shared object 貌似还没有好办法,不过,你可以通过扩展指令来实现,大致如下:
public class SharedObjectDirective extends Directive {
public void exec(Env env, Scope scope, Writer writer) {
String key = exprList.getExpr(0).toString();
Object value = scope.getSharedObject(key);
write(writer, value.toString());
}
}

最后配置一下:
engine.addDriective("so", SharedObjectDirective.class);

用的时候这样:
#so(site.siteUrl)

2021-03-10 14:53

现在用得最多的是 jdk1.8, jfinal 迭代十年,必须要照顾这些老用户

FST 反射错误,你可以提下 PR 到 jfinal 项目,都来参与贡献

2021-03-10 14:52

windows 下的换行是个不好的设计,明明 \n 一个字符可以搞定的,非得要 \r\n 两个字符

当然, \r\n 是有历史原因的,记得来源于最初的机械打印机,\r 是 return 表示打印头回到行首,\n 是 newline 表示新起一行

也就是说机械式打印机的换行是返回行首与新起一行两个动作

虽说如此,微软也不该换着几十年前的历史包袱不放,连苹果以前的 \r 表示换行都改成了 \n 换行了

2021-03-09 14:25

@杜福忠 同学原因分析得应该挺对,但解决办法可以更简单点,我给一个更省事的办法,步骤如下:
1:在 YourJFinalConfig 中添加一个 onStart() 方法,在这个方法中手动启动 DruidPlugin 与 ActiveRecordPlugin

2:用一个 for 循环加一个try catch 处理一下,代码大致如下:
public onStart() {
DruidPlugin dp = new ...;
ActiveRecordPlugin arp = new ...;
for ( int i = 0 ; i < 10; i++ ) {
try {
dp.start();
arp.start();
} catch ( Exception e) {
Thread.sleep(3000); // 线程睡 3 秒
continue ;
}
}
}

2021-03-08 14:36

通常是路径不对

注意看一下这里:
https://jfinal.com/doc/1-9

2021-03-06 21:11

@zasray 好看多了,感谢分享

2021-03-06 17:34

@zasray 进入这里:
https://jfinal.com/my/share/add

第二个按钮即是

2021-03-06 16:52

jpress 是 jfinal 生态内的项目,当然可以分享,这里是 jfinal 垂直社区

此外,你的内容在复制的时候,要先点击一下那个贴源码的下拉,否则你现在的内容全是乱掉的

2021-03-05 22:12

参数注入依赖于 jdk 的一个配置:
https://jfinal.com/doc/3-3

感谢分享