2020-05-28 18:20

使用如下代码:
Engine engine = RenderManager.me().getEngine();
Template template = engine.getTemplate(...);

// file 可以指向任意地方,可以使用绝对路径
String file = "/var/html/file-name.html";
template.render(..., file);

输出到任意目录下的任意文件, 极度方便

2020-05-28 17:10

@wtsoftware 正要推出的商城频道会出各种各样的插件

2020-05-28 16:42

@王先森 可能是数据量大,一直在执行

你可以在每次插入一批数据以后,向控制台输出提示信息,以免误判

也可以在每插入一个分页数据以后做日志

一定要想办法找到症状。 当前情况并没有抛异常,最直观的看法是程序仍然在执行,由于数据太多,外在表象是卡住了

2020-05-28 16:18

@fred 其实用 setCompressorOn('\n') 就足够好了,既保障了压缩率,又保障了压缩性能,还保障了压缩结果的可读性

2020-05-28 16:03

如果不抛出的话,自己用 log.error(...) 做日志也是可以的

2020-05-28 16:03

@天晴 jfinal 框架内部会对你抛出的所有异常做日志, 但前提是不要吃掉异常,要继续向外抛出

2020-05-28 16:02

druid 的日志功能是啥?

如果是 druid 内部的日志功能,得看看他的文档是否有相关配置支持

2020-05-28 14:05

分页与插入,前者是查询,后者是 insert , 信息量不够

提供更多信息量,消除不确定性,这个问题才有可能得到答案

2020-05-28 14:04

@fred 这个是 html 压缩功能,不是 java script 压缩功能,后者的压缩涉及 js 语法解析,工作量是极大的

有两个建议,一是使用换行作为压缩分隔字符
setCompressorOn('\n')
这个配置压缩率是完全一样的



第二个方案是继承 Compressor ,用上第三方的 js 压缩工具扩展一下,在 Compressor 的注释中有如下说明:

7:压缩分隔符默认配置为 '\n',还可配置为 ' '。如果模板中含有 javascript 脚本,需配置为 '\n'

8:可通过 Engine.setCompressor(Compressor) 来定制自己的实现类 可使用第三方的压缩框架来定制

例如使用 google 的压缩框架: 压缩 html: com.googlecode.htmlcompressor:htmlcompressor 压缩 javascript: com.google.javascript:closure-compiler

2020-05-27 17:46

@苦丁香 http://free-download.jfinal.com/download/MyRenderFactory.zip

2020-05-27 17:46

在 nginx 中添加配置传入 X-Forwarded-Proto、X-Forwarded-Port 两个变量以后,再下载下面的扩展代码用于自己的项目,可完美解决该问题:
http://free-download.jfinal.com/download/MyRenderFactory.zip

以上这个解决方案会做到 jfinal 5.0 中去,目前只能先下载我提供的代码解决

2020-05-27 17:45

稍微描述一下 nginx 代理实现 "https" 时, redirect(…) 会错误重定向到 "http" 的原因:
1: nginx 代理实现 https
2: 浏览器与 nginx 用的是 https 通道
3: 但 nginx 与 jfinal 项目之间用的是 http 通道
4: 在 jfinal 的 RedirectRender.java 中通过 request.getSheme() 得到的协议值必然是 "http"。通过 request.getServerPort() 得到的必然是 nginx 与 jfinal 之间用的 port

从而,站在 jfinal 的角度得到的协议值 "http" 与 port 值都是错误的,所以需要在 nginx 上通过配置传入额外的参数来解决,这两个参数就是:
X-Forwarded-Proto、X-Forwarded-Port

配置方法如下:
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;

2020-05-27 17:45

在 nginx 中添加配置传入 X-Forwarded-Proto、X-Forwarded-Port 两个变量以后,再下载下面的扩展代码用于自己的项目,可完美解决该问题:
http://free-download.jfinal.com/download/MyRenderFactory.zip

以上这个解决方案会做到 jfinal 5.0 中去,目前只能先下载我提供的代码解决

2020-05-27 17:43

稍微描述一下 nginx 代理实现 "https" 时, redirect(…) 会错误重定向到 "http" 的原因:
1: nginx 代理实现 https
2: 浏览器与 nginx 用的是 https 通道
3: 但 nginx 与 jfinal 项目之间用的是 http 通道
4: 在 jfinal 的 RedirectRender.java 中通过 request.getSheme() 得到的协议值必然是 "http"。通过 request.getServerPort() 得到的必然是 nginx 与 jfinal 之间用的 port

从而,站在 jfinal 的角度得到的协议值 "http" 与 port 值都是错误的,所以需要在 nginx 上通过配置传入额外的参数来解决,这两个参数就是:
X-Forwarded-Proto、X-Forwarded-Port

配置方法如下:
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;

2020-05-27 17:39

@himans 记得要回来反馈, 实践后的结果极端重要