2017-09-15 10:20

@arboret 很明显问题出在 sql 模板中的使用,但至始至终你都不出示这段代码。

永远记住:生成 "?" 问号占位的是 #para(...) 指令,而不可能与 "map中的 key" 有任何关系

目前你的解决办法很不优雅,只是在生成了错误的 sql 以后,再用 replace 再补救,与真正正确的道路相差甚远

你的 java 代码中用了很多 if 判断,显然这些判断在 sql 模板中去做会更优雅

总之:一定要先会用 jfinal 模板引擎的基本用法,然后再用好 #para,就可以解决问题

2017-09-15 09:18

@arboret 那么,解决办法不用多说了吧?

2017-09-14 19:59

sql 与参数弄对就可以了,贴子中的 sql 明显是错误的: and orgId in(?)?

正确的应该是: xxx in (?, ?, ?.... ?) 有多少个参数就有多少个问号,然后参数也要对号入座,参数个数也要完全相同

2017-09-14 17:14

url 用于资源定位,一定要严格,多一个 "/" 去掉就好

2017-09-14 17:12

jfinal 没有提供上传到 oss 的功能,更加不会限制 oss 功能

建议先写人小 demo,专门上传文件到 oss 上,搞定后再将代码挪到项目中来

2017-09-14 16:20

@peterpeter 扫到企业微信支付账号,不需要保证金,每笔收你 0.6% 的手续费

2017-09-14 16:18

arp.setContainerFactory(...) 配置 CaseInsensitiveContainerFactory 的时候,不要给构造方法传入任何参数

2017-09-14 11:24

@aloneJFinal 参数与上传文件本身是被包含在整个 http 封装好的流里面的,解析这个流才能得到参数与文件内容,而一旦解析,文件和参数是同时被解析的,参数存放的位置也是不确定的,或许在文件之中某个位置

2017-09-14 10:22

@yzdoraemon 建议单步调试一下,看看现场

2017-09-14 10:13

@听雨跳舞 有关 html 片段渲染 + ajax 的代码在 ShareController 中的 saveReply() 方法里,还有更多玩法,可以去俱乐部交流

2017-09-14 10:13

@听雨跳舞 收一下系统发送的私信,进入俱乐部专享群

2017-09-14 09:57

分页查询中如果使用 order by 只要是没有报异常,结果一定是正确的,当然这个结果取决于你的 sql 是否正确

paginateByFulSql 本质上只是用于复杂 order by 的情况,例如下面这种情况:
select * from xxx where ... order by ( select yy from ...) as temp

由于分页查询需要用 select count(*) from (原 sql) as temp 去计算总记录条数,而 count(...) 函数不能与 order by 同时存在,所以需要针对 select count(*) 这个查询去掉 order by 子句

问题在于 order by 可以是无限复杂的嵌套 sql,以至于要用正则彻底覆盖所有 order by 所有模式的情况会让程序性能下降一至两个数量级

因此,为了权衡性能与便利性,paginate 方法中的正则仅匹配移除最常用的 order by 模式,而 paginateByFullSql 专门针对无法彻底移除 order by 的情况而生

2017-09-14 09:49

代码走到 #include 一个 html ,表明已经在渲染当前页面,这个时间点与 render 方法就没有关系了,点击一个按钮,刷新数据是发起的另一次新的请求,用 ajax 可以实现

jfinal.com 官方是这么实现的:
1:在第一个 action 中先渲染出整个页面
2:在需要动态的地方,使用 ajax 向某个 action 发起请求,假定该 action 叫 item()
3:做一个 _item.html 页面,仅仅渲染出页面需要更新的那一个小片段
4:在 item() 这个 action 中 render("_item.html") 响应 ajax 请求
5: ajax 请求将获取到的 html 片段,用 insert 插入到页面指定的地方,替换掉原来的老数据也可以

建议加入俱乐部,现成的代码可使用,省下的钱数倍于加入club的投资

2017-09-14 00:23

更新失败的异常信息是什么? 否则无法判断原因

batch 是最快的方式,注意设置好合理的 batchSize,建议是 3000 到 5000

2017-09-14 00:22

@lyleluo 半天没反应,数据是否有部分存进去? 将 batchSize 设置小点,如 3000 试试