2019-11-21 12:21
@opal 针对具体的类扩展就可以,极度方便,例如针对 ArrayList、HashMap
而 List、Map 是接口不可以使用 extension method 扩展方式
2019-11-21 11:08
@whjjjjjj 看到你是用的 undertow , 很可能是你配置了 ertow.resourcePath,这个配置中的第一个有效值会被设定为默认的 baseViewPath
一般建议的配置是:
undertow.resourcePath = src/main/webapp, 其它配置在此用逗号分隔
注意上面的配置,让 src/main/webapp 放在最前面,最前面的将会成为 baseViewPath 以及 PathKit.getWebRootPath() 值
文档中详细介绍了这个配置,也介绍了这个值将影响 PathKit.getWebRootPath() 值,进而影响 configEngine 中的 Engine me 对象的 baseTemplatePath:
https://www.jfinal.com/doc/1-4
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 无法干预