2019-10-14 17:16
@zhangtianxiao renderNull() 不会向客户端输出任何东西,可能造成客户端的等待,起码会等待服务端关闭连接之类的动作
客户端如果发生等待,可能就不会发起新的请求,从而造成性能测试结果很低
任何待等都可能拉低性能
2019-10-14 15:15
@cs3230524 jfinal 给定的 JFinalJson 实现是直接对 Model 的 Map attrs 进行 json 转换,所以没有走 getter 方法
这种情况下可以使用 fastjson:
renderJson(FastJson.getJson().toJson(data));
2019-10-14 14:34
@小徐同学 正如我上面的回复, 如果社区的 jfinal-com 项目的 undertow.resourcePath 配置不使用 /Users/james/jfinal-com/_res ,那么我在开发的时候,用户头像、贴子上传的图片都是缺失的,界面非常不美观
如果我将部署环境下新产生的用户头像、贴子图片下载到本地用于正开发的项目的话,项目目录下面就会有大量的这些资源文件,很不方便,尤其是对于 git / svn 版本管理
2019-10-14 14:30
@小徐同学 这个功能早就有了,用着极度方便,开发与部署的环境可以尽可能的统一,部署环境下产生的新数据、新图片可以与项目资源分开存放,对于 git/svn 十分友好
2019-10-14 14:29
怎么方便怎么使用
你代码中的第二种方法,可以定制生成器,自动生成方法内部的东东:
http://www.jfinal.com/share/1021
此外, 生成的 getter 方法应该是处在 base model 中, 而你的代码给出来是在最终的 Model 中,显然是不对的
生成器生成的 base model 中的 getter 、setter 方法不要手动去改,这个在文件头部已经有过如下说明:
/**
* Generated by JFinal, do not modify this file.
*/
也就是强调过这个文件不要修改它,让生成器自动维护它
你可以在最终的 model 中手动创建新的 getter 方法,覆盖掉父类中的 getter 方法
2019-10-14 14:24
如果你用生成器生成过 model、base model , 可以将生成的 base model 由继承 Model 改为继承 MyModel, 而这个 MyModel 就是你用来实现这个功能的工具,MyModel 大致代码如下:
public class MyModel extends Model {
public boolean save() {
// 这里加入你需要的日志代码
return super.save(); // 这里调用父类的实际保存
}
}
最后通过参考这篇文章,定制一下生成器的模板:
http://www.jfinal.com/share/1021
简单说就是改一下模板中的 extends Model 为 extends MyModel
2019-10-14 12:13
通过配置 undertow.resourcePath 可以将任何多个目录或者 classpath 内的资源映射进来,例如:
undertow.resourcePath = src/main/webapp, /var/www, classpath:static
以上第一个配置 src/main/webapp 用于映射到开发时项目中的 webapp 目录
第二个配置 /var/www 是操作系统内的一个目录
第三个配置 classpath: static 指向 CLASSPATH 下的 static 子目录,该目录可以是在 jar 包内存在的
多个配置可以用逗号分离,这些在文档中都有过说明:
https://www.jfinal.com/doc/1-4