2017-02-24 15:48
@redpower 必然会有:http://git.oschina.net/jfinal/jfinal
https://github.com/jfinal/jfinal
2017-02-24 15:19
@蓝色D大调 参考一下 com.jfinal.plugin.cache 包下的插件实现方式,里面用到了自定义注解辅助实现其功能
2017-02-24 11:30
@TonyWang 这样扩展也挺好,Controller.render(Render) 这个方法就是为这类场景设计的
是否要使用 "Cache-Control" 这个在最初的版本的确也纠结过,忘了当时做这个决定的关键原因了
2017-02-24 11:26
@qiushui90 不建议用 dialect 实现,因为你要的这个功能不属于 dialect 的功能范畴,项目在将来进化过程中,很可能忽视这里,造成问题
2017-02-24 10:59
@qiushui90 有很多解决方案,以下方案选择其一即可:
1:在自己的 model 中创建一个boolean filter(int type) 方法去实现,这个方法会被save()、update() 回调
2:在自己的 model 中创建 save()、update() 覆盖掉父类的方法实现功能,最后再添加一句:return super.save(); 或 return super.update()
3:自己建个 BaseModel,再扩展一下 BaseModelGenereator,多生成一下 save()、update()方法,在其中实现功能
2017-02-24 10:54
@qin 这里只是设置的代码,而这段代码中所依赖的 "encryptMessage" 依赖于你项目中的配置文件,前面所讲的“项目中配置也不启动加密”是指项目配置文件中的“encryptMessage”配置
2017-02-23 22:15
大部分情况下,客户端获取到的 json 数据是动态的,并不希望被浏览器缓存,所以 JsonRender 中添加了 "Cache-Control" 配置
解决的办法极其简单:
1:创建一个class MyJsonRender extends JsonRender,覆盖掉父类中的 render() 方法,去掉其中的 setHeader 调用
2:创建一个 class MyRenderFactory extends RenderFactory,覆盖掉其中的 getJsonRender() 方法,在方法体内使用 render new MyJsonRender(...)
3:在 configConstant(Constants me) 中通过 me.setRenderFactory(new MyRenderFactory()) 切换为自己的实现类
通过以上方法可以替换任何 Controller 中的 render 方法所依赖的实现类