2018-10-31 16:06

@Jfinal灬 当成是 jfinal web 项目即可,如果不是 web 项目, configRoute 这些都不会被回调 404 是必然

2018-10-31 16:05

单步调试一下,看数据是哪一步不见的,或许是转成 json 时不见的

注意单步调试 renderJson 用到的那个 JsonRender.java内部的 render() 方法,那里才是真正转 json 的地方

此外,单步调试看 JSONObject 这个对象时,看到的仅仅是其中的 toString() 方法的输出值,这个值不一定是最终的值,不可信

2018-10-31 16:02

在拦截器中通过 inv.getController().renderJson() 来解决,注意要放在 inv.invoke() 之后:
inv.invoke();
inv.getController().renderJson();

2018-10-31 14:28

那只能分析日志,表面是无论如何看不出来的

2018-10-31 14:28

404 这种错误是极其容易解决的,将路由弄对基本就可以了

2018-10-31 14:06

简单说一下这个问题的原因:rawData 这个是 Controller 的一个属性,而 forwardAction 时,这个属性并没有带到下一个 controller 中去,所以就丢失了

2018-10-31 14:05

forwardAction 以后确实是获取不到了,可以通过 setAttr(...) 传递过去,然后再 getAttr(...) 获取

看一下 controller 中的 String rawData 源码就可以很清楚知道为啥获取不到了,jfinal 3.6 考虑改进这里

2018-10-31 14:03

tomcat 还有一个比较大的坑在前面等着呢,先将这个坑放这里,以免后面你再碰到问题:
http://www.jfinal.com/share/1176

2018-10-31 14:01

找到日志,看一下错误日志,包括 tomcat 的错误日志

这类问题多种多样,例如 linux 下面那个上传路径没有写权限,再例如 tomcat 8 上传文件以后默不可读等等,这都是 linux 下 tomcat 的常见坑

2018-10-31 11:21

看一下 com.jfinal.plugin.activerecord.generator 这个包下面的三个 .jf 文件,将这三个文件 copy 出来做成自己的模板,然后配置一下就可以生成自己需要的内容了,配置方法:
generator.setXxxTemplate(...)

2018-10-31 11:19

tomcat 下部署一定要看看这个:
https://my.oschina.net/jfinal/blog/353062

2018-10-31 09:58

仔细看明白 jfinal 有关 json 的文档,里面讲了扩展方式,原理等:
http://www.jfinal.com/doc/12-1

2018-10-31 09:57

@qqfans 是否听取了我前面的建议,生成了 model 的 getter setter 方法,然后使用 Fastjon 来转换,这个已经可以解决问题了

生成不了 Model 的问题,通过继承 JFinalJson,覆盖掉其中的方法,用一下 StrKit.toCamelCase(...) 将大写转成驼峰就好,然后使用自己的继承类来干这事:
new MyJson().toJson(...);

2018-10-31 09:54

@JM-java 看一下事务级别是不是被调高了:
Connection.TRANSACTION_NONE
Connection.TRANSACTION_READ_UNCOMMITTED
Connection.TRANSACTION_READ_COMMITTED
Connection.TRANSACTION_REPEATABLE_READ
Connection.TRANSACTION_SERIALIZABLE

上面的五个事务级别从上到下越来越高,jfinal 默认是倒数第二个,如果你自己调成了最后一个,那么会非常慢,如果是用的 jfinal 默认的还是很慢,可以调成第三个,具体办法是:
ActiveRecordPlugin.setTransactionLevel(Connection.TRANSACTION_READ_COMMITTED)

这第三个事务级别是 JDBC 默认的,而 jfinal 调高了一级,是为了防止部分用户的业务对事务级别要求太高,从而造成错误

当然,最后你还是要弄清楚这几个事务级别,然后根据你的业务情况进行选择

2018-10-31 09:48

@白云君 controller 为啥需要 driver,这个 driver 仅用于第三方启动

在 YourJFinalConfig 中添加一个 public void afterJFinalStart() 方法,在里头写上你需要客外补始化第三方的代码

或者在 configPlugin 中写这类代码也可以