2019-11-21 11:00
jfinal 源码中有一处对 fastjson 配置例子:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/json/FastJson.java
源码如下:
SerializeConfig.getGlobalInstance().put(Record.class, new FastJsonRecordSerializer());
这个配置干预了 Record 的转换,你可以通过类似的办法,来想办法再干预一下
通过查看 fastjson 官方文档来找答案
此外,js 对 long 丢失精度的问题本质是前端问题,可以试着找找 js 这边的解决方案,在服务端去解决总觉得不完美,因为这本质不是服务端的事
2019-11-21 10:45
@hzcsc 因为你的 power 方法原型是 Double power(Integer self, Double exponent),参数是 Double,所以在使用的时候只能接受 Double,进而 power(10.0) 可以成功
解决办法是再额外添加一个带 Integer 的方法,例如:
Double power(Integer self, Integer exponent)
或者将原来的方法中的 Double 改成 Number 试试
Double power(Integer self, Number exponent)
2019-11-21 10:40
@whjjjjjj 注意文档中的 baseViewPath 、 viewPath 这两项配置:
1:如果不配置的话,viewPath 默认为空,指向的是 src/main/webapp
2:viewPath 由添加路由映射时提供: routes.add("/login", LoginController.class, "/login") 其中第三个参数 "/login" 就是 viewPath
render("login.html") 最终的参数值是:baseViewPath + viewPath + "login.html"
如果你在 render 的时候,参数以 "/" 打头的话,会忽略 baseViewPath 以及 viewPath
这里有详细的文档:
https://www.jfinal.com/doc/3-7
只要用上几次,就很容易理解
2019-11-19 16:18
@星矢 这就对了, alert table、create table 这类改变数据表结构的 sql 是无法回滚的,能回滚的是改变数据本身,而不是数据结构
这个是由数据库决定的,jfinal 无法干预
2019-11-19 16:03
@落 如果映射了还是空,那就是 arp.start() 没有调用,也就是说没有启动 ActiveRecordPlugin
在 web 项目中,需要 me.add(arp) 一下,在非 web 项目中,需要 arp.start() 一下,这里有文档:
https://www.jfinal.com/doc/5-15