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

感谢分享

2021-03-05 19:17

@tosur 没这个配置,目前不支持

如果一定要用,可以通过创建多个 Engine 对象,其中一个配置压缩,一个不配置,然后 render 的时候分别使用不同的 engine 对象

enjoy 的 engine 对象是可以分别独立配置使用的

2021-03-04 21:09

文档中有一段示例,其中有下面这样的代码:
Engine engine = JFinalViewResolver.engine;

上面的代码拿到 engine 对象以后就可以任意配置了,例如,配置成从 class path 中读模板:
// 使用 ClassPathSourceFactory 从 class path 与 jar 包中加载模板文件
engine.setToClassPathSourceFactory();

默认是从 webapp 下面读

2021-03-04 01:18

新版本 jfinal 4.9.08 已经对 LocalDateTime、LocalDate 添加了全面的支持,涉及功能包括 Model、Record、getModel、getBean、renderJson、toJson 等等

新版本已推送至 maven 中心库,可以使用了

2021-03-03 16:42

> ./logs.....
改成
>> ./logs....

linux 基础

2021-03-02 15:09

居然知道 UndertowServer.configWeb 中有一个
builder.getDeploymentInfo().setSessionManagerFactory(...)

很有探索精神,收藏点赞,以后有用