2018-07-09 14:38

@zhaofan 已发布,直接在 pom.xml 改版本号为 2.0 即可升级

2018-07-09 11:12

再补充一下,如果再要做得细致一些,可以针对不同的响应数据,设置不同的 context type,具体的设置值可以参考一下 jfinal 源码中的 com.jfinal.render.ContextType 中的字符串常量

2018-07-09 11:10

最后别忘了搞定后,回来在本分享中追加上改进后的代码

2018-07-09 11:09

博主的方案非常简单,代码也很省,在 outputStream.close() 后面应该要加上一句 renderNull()

这里有个改进建议,可以将 StaticResourceController 中的代码全部转移到 FileHandler 中,request、response 对象都在里面可以直接用,最后别忘了在 if 中加两行代码:
isHandled[0] = true;
return;
加这两行一是避免 tomcat、jetty 容器处理这个请求,二是辟免执行后面的 next.handle(...)

此外,建议在 finally 块中关闭 outputStream、inputStream

最后,再建议创建一个比较小的 byte[] buffer(例如 new byte[512]),一边从 inputStream 中读,一边往 outputStream 里面写,这样就避免了每次 new 出很大的 buffer,可提升性能

在 for 循环中判断读取的 len 是不是 -1,来代替 inputStream.available();

大致结构如下:
byte[] buf = new byte[512];
int len=-1;
while((len=inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, len);
}

2018-07-08 18:03

文档中有红色字体详细说明
http://www.jfinal.com/doc/5-6

2018-07-08 10:35

简单来说,jfinal 给出默认实现,有特殊需求的可以自行扩展,扩展大多可以通过 extends 然后覆盖一下父类的方法来实现

2018-07-08 10:34

@江南1111 jfinal 的 json 模块是全开放式结构,你可以继承一下 JFinalJson,然后参考 com.jfinal.json 包下面的 JsonFactory 自建一个 MyJsonFactory ,将 json 实现切到自己实现的 json 实现上去

配置:
me.setJsonFactory(new MyJsonFactory());

扩展:
public class MyJson extends JFinalJson {
...
}

jfinal 原有的 JFinalJson 不能随便动,这个类已经用了 6 年多了,改变现有规则影响面太大

2018-07-08 10:32

NoClassDefFoundError 可能是本地 maven 库中下载的 jar 包有错误,删掉本地 maven 库中的相关目录,让 maven 重新下载一次

此外,参考这些资源:
http://www.jfinal.com/share/457

2018-07-07 23:02

OracleDialect 中默认就应该支持 sysdate

2018-07-07 23:02

建议用 jfinal 生成器生成 getter 方法,然后使用 FastJson.getJson().toJson(...) 来转换

或者配置默认 json 实现为 fastsjon:
JsonManager.me().setJsonFactory(new FastJsonFactory());

2018-07-07 22:21

@青峰大辉 用起来比 Velocity 方便多了,而且还可以用独立于 jfinal
发布的版本,不依赖于任何第三方,只有 100 多 K

2018-07-07 20:32

一直都是直接用 Engine.use().getTemplate("file.txt").renderToString(map)

用只前注意先配置一下,例如
Engine.use().setBaseTemplatePath(...)

2018-07-07 16:17

如果有异常,建议贴出来

2018-07-07 16:15

NoClassDefFoundError 是 java 基础,参考一下这里:
http://www.jfinal.com/feedback/3058

2018-07-07 16:13

不过,我比较确信这个地方不需要改变,这段代码用了六年多了,从来没人提出过这个需求,或许是你问错了问题

建议提出详细的需求来进一步挖掘需求