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 方法所依赖的实现类
2017-02-23 20:18
@rapin 在发布新版本后写新版本文档时发现了这个需求,在没有发行的版本已经支持了,放开了对 #p 指令参数类型的判断
以前对 #p 指令的参数类型判断严格是为了避免开发者传入错误的数据库类型造成错误,没注意到 #p(map.value) 这种需求的存在
2017-02-23 18:17
@Ferrari8899 value 不是属性值,只是个示例,你可以样:#(session.a.b.c.d.x.y.z)
2017-02-23 17:44
@sruz 虽然 jfinal template engine 这才第一版,但功能是非常完善的,很多情况都已经考虑到了
2017-02-23 17:44
@sruz configEngine 中的 devMode 配置如果不动它,默认与 configConstants 中的配置是一样的,如果在 configEngine 中再配置,那么会覆盖掉 configConstants 中的配置
2017-02-23 17:06
@Ferrari8899 建议你使用标准的 maven 结构,与标准配置,然后在 pom.xml 中添加 jetty 的 maven 插件,这样应该可以正常运行
以前出错,我怀疑是你没按标准的 maven 规则来
2017-02-23 17:05
@Ferrari8899 原来如此,选择自己习惯和喜欢的来吧,把配置弄好应该可以的,多尝试
2017-02-23 16:56
@越陌度阡_磐定桑田 以前使用老一代开发框架确实很慢,有些人选择了忍受,有些人选择了逃离,jfinal 就是为了简化开发,提升效率的
java 界普遍学术化、过度设计,jfinal 为此做了很多努力,力求将学习成本降到尽可能低、开发效率尽可能高、代码量尽可能少