2018-09-02 23:11
@埃克斯 这个项目好像不维护了,建议使用 swagger
使用 jfinal 的 action 带参用法,用 swagger 可直接生成文档,不必引入额外的注解
如果一定要使用 jdoc,得单步调试一下程序去哪里去找那个 jdoc_template.ftl 文件了,如果 jar 中没有,那么是要去哪里找,看看这个项目的文档怎么说的
2018-09-02 10:59
@fansunion jfinal 生态在国产 web + orm 框架中已经是最好的了,往后的世界不可能只有 spring 一家,jfinal 的定位与 spring 在很多方面几乎是相反的
jfinal 追求简而精,追求让用户代码量最小、学习成本最低、开发效率最高。jfinal 自身的代码量很小,解决问题时比 spirng 要容易多了,基本就是单步调试往下跟两层就知道原因了,而 spring 之下你跟踪七八层还找不着北呢
2018-09-02 10:54
@nbjgl 这样每次 new 出来一个 factory 太浪费了,可以用一个 static 变量持有这个 factory , 全局共享,只 new 出来一次
2018-09-01 20:27
@fansunion 数据库字段类型是 varchar 的时候,你可以重新运行一下 jfinal 生成器,那么相应的 getter setter 方法中的类型会跟着改变
此外,建议所有字段使用驼峰命名,这样就可以让 JFinalJson、FastJson 转 json string 时的格式统一了,无论是通过 getter 方法还是 Model.attrs 的 Map 转都一样的结果
2018-09-01 20:24
@nbjgl 那个太老了,你可以先参考 beetl 官网的方法整合 beetl,然后通过 renderTemplate(...) 来使用 enjoy 引擎
2018-09-01 18:45
补充一个有用的点: JFinalJson 转 json 时不依赖于 getter 方法,而是将 Model.attrs 这个 Map 中的值转成 json,所以这就支持了你 sql 关联查询时查出来的字段
这类关联查出来的字段在 Model/Bean 中是没有 getter 方法的,相当于动态化了
例如,你在 Article 这个 model 中没有定义 getUserName() 这个方法,但可以这样查询:
select a.*, u.userName from article a inner join user u on a.userId = u.id
上面是一个关联查询,在转 json 时会将 u.userName 这个关联过来的属性转换成 json,而这个功能在一般的 json 转换工具中是不可能实现的
2018-09-01 17:36
Brand 光定义两个属性不够的,需要有相应的 getter 方法配套,因为 fastjson 是通过你的 getter 方法进行 json 转换的
如果用 jfinal 自己的 json 转换工具,则需要 put("company", company) 这样将数据 put 进去才能转换,总的来说没有必要定义属性
此外, createTime 转换错误,你看这个 String 数据是多哪里来的? 是不是自己放进去的? 还是说从数据库来的时候就是 String ?
一般来说 date 数据从数据库出来仍然是 Date 类型,而不会无故成为 String 类型,这个通过单步调试很容易知道类型为啥不对