2020-08-21 18:01

为什么不看文档?
https://jfinal.com/doc/5-15

2020-08-21 10:33

@koushoha1893 根据异常提示的内容去解决,猜是不行的

2020-08-21 09:41

@lxhxka 没错

注意配置的参数:
JFinalJson.setModelAndRecordFieldNameToCamelCase(false);

注意最后的参数要是 false 才可以,这个配置针对 mysql 友好,true 参数针对 oracle 友好

2020-08-20 14:19

jfinal 这端没有限制

仅受限于系统硬件、网络环境,这个就与 jfinal 无关了

2020-08-20 12:49

@lzw0128 jfinal undertow 项目已添加该内置配置:
https://gitee.com/jfinal/jfinal-undertow/commit/1a106bd687b4edb5f571dad946576eedefe5d30a

2020-08-20 11:35

PropKit.use(..., 字符集) 即可

或者让你的配置文件是 UTF-8 的也可以

2020-08-19 19:54

@lzw0128 应该是 Test 没有添加映射

2020-08-19 15:26

@夕阳老贼 脚本中的 cp 变量配置有问题,改一改

PathKit.getRootClassPath() 与 cp 变量配置有关

2020-08-19 15:04

@lzw0128 这就很奇怪了,都用一下 Aop.get 试试

2020-08-19 15:04

@逗不逗 当然可以,用一下 getBean 与 getModel 即可

注意,如果没有对象前缀的话,最后一个参数用 "" , 例如:
getBean( Xxx.class, "");
getModel( Xxx.class, "");

如果要跳过不能注入的属性,最后一个参数用 true:
getBean( Xxx.class, "", true);
getModel( Xxx.class, "", true);

文档中详细说明,注意看文档

2020-08-19 13:55

jfinal undertow 这个项目中,针对部署环境,会额外约定一个 config 目录为 classpath,注意看源码:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/hotswap/ClassLoaderKit.java

其中的 addConfigClassPath(....) 方法就是干这事的,但注意源码中是检测过 config 目录是否存在才添加的

你能打印出来 config,应该是检测到了 config 目录

还要注意你的 undertow.resourcePath 配置,这个配置下面的第一个有效目也将影响 PathKit 中的值

2020-08-19 13:47

关键异常信息:
Can not set com.test.business.service.ProductService field com.test.business.service.BillService.productService to com.test.business.service.BillService$$EnhancerByJFinal]

变量类型不对,可能是你映射有问题,估计是你添加了:
AopManager.me().addMapping(...)

造成类型问题,检查一下

2020-08-19 10:57

你当前是 multipart request,需要先使用 getFile() 解析一下请求体,然后再用 getPara 接收参数

2020-08-18 20:41

String jsonString = getRawData();
Map map = FastJson.getJson().toJson(jsonString, Map.class);
Ret ret = Ret.create().putAll(map);

2020-08-18 20:35

返回值不为 void, fastjson 会认为不是一个 setter 方法,所以也就不转换了

这也是为啥 jfinal 的 BaseModel 生成器所生成的 setter 方法没有返回值的原因

建议你找找 fastjson 的文档,估计有相关配置可以支持