2020-03-19 16:56
历史上有很多人碰到过这种问题
最后的本质原因找到了,只有一个: 确实是因为发送了两次请求
具体到不同的人,发两次请求的方式不同,我举一个最罕见的例子:
在五六年前有一位同学是因为 html 中的 img 标签中的 src="", 而这个 src 为空字符串的值居然在 IE 浏览器中会自动发送一次请求,外加用户手动请求的一次,一共两次
不同的人可能会用不同的方式触发了两次请求,但有一点可以肯定:绝对不要在 jfinal 上找原因,jfinal 绝对不可能自发请求两次
解决问题的具体办法是:
1:在后台代码找原因:在被请求的地方设置断点,查看请求调用栈
2:在前端代码找原因:打开浏览器的开发者工具,进入 network 栏,查看发送请求的次数
2020-03-18 23:19
@mscedifier 这个信息对于每个被代理的类来说只会输出一次,第二次请求的时候就不会输出了
因为生成代理只需要一次
2020-03-17 13:33
@微笑 单步调试,找出用纯 JDBC 与用 jfinal 之间的差别,然后改一改就可以
检查一下是不是 jdbcUrl 连接中 encoding 的配置问题
理论上来说 JDBC 与 jfinal 的执行情况是完全一样的,因为 jfinal 仅仅只是转调了 JDBC,并未做任何干预
2020-03-16 21:44
@foam103 带 .ws 就可以不需要 UrlSkipHandler,因为带 "." 字符的 url 不会被 jfinal 框架当成 action,所以自然也就跳过去了
2020-03-16 18:37
@WJME 在 jfinal 中使用任何第三方,不一定需要使用插件机制,而是直接用上即可
插件机制不是必要的
2020-03-16 18:36
@IT届的小学僧 你的代码中的 Kv con 这个变量已经是正确的用法,"传一个值加一个数组" 这件事已经做好了,剩下的只是在 sql 模板中用上它即可
你可以用 #(...) 指令输出这个变量和数组进行验证
因此,你的问题本身就不存在