2017-07-17 23:46
配置方式参考一下首页下载的 jfinal demo,在 web.xml 中添加一个 JFinalFilter 即可,其它地方参考手册就好
2017-07-17 21:23
在第一个 action 中先使用 createToken 创建 token,回到页面时将该 token 值放入表单隐藏域中与数据一起提交到第二个 action,在第二个 action 中通过 validateToken 验证,用来判断是否重复提交
2017-07-17 18:46
@2222222 Kv.by 是静态方法,在创建 kv 对象的同时置入一个 key value 值,而 Kv.set 仅仅只是置入值,并不会创建 kv 对象,只要用一下就知道区别了
2017-07-17 17:33
最后补充一句,每次发新版本都可以在本站下载到 changelog.txt 文档,通常每次发版本是半年到一年左右,足够时间下载这个文档,以及升级了,有不少小伙伴永久保存了每个 jfinal 版本的所有资源
2017-07-17 17:32
jfinal 每次发新版本都会发布 changelog,看一下这个页面右侧的发布新闻链接:https://www.oschina.net/p/jfinal后面两个版本可能没直接贴出来 changelog,可以在本站的分享频道获取:jfinal.com/share最新版本的 changelog 可以在本站首页右侧下载到:jfinal.com此外,如果碰到任何问题,可以通过查看 jfinal 手册来解决,jfinal 手册第一章有对升级的说明
2017-07-17 17:29
jfinal weixin 很早就支持多公从号了,文档在此: http://git.oschina.net/jfinal/jfinal-weixin/wikis/home
2017-07-17 15:14
@youyuyang 调用过任何类型的 render 方法或者 forward redirect 方法都可以
2017-07-17 14:24
@youyuyang 通过 renderNull() 就可以避免掉
2017-07-17 12:02
必然是 sql 放在 service 中更好,如果 sql 复杂可以放到 sql 模板文件之中,sql 无论放哪里,但数据库操作必须是放在 service 中放在 service 中更有利于重用,以及做分布式与集群,如果放在 model 中,那么在做分布式集群时不方便将 model 抽取成独立的 module
2017-07-17 11:23
@xiaoaqiang 解决就好
2017-07-17 10:57
异常信息是什么? 否则无法知道错误原因
2017-07-16 11:27
主流程是先获取一个 token 值,提交的时候这个 token 值作为参数一起提交,后端再通过 validateToken 进行验证,验证通过则放行。机制定好了,具体怎么玩看你自己的应用场景,你上面的疑问是具体问题,而 token 的机制是一个底层问题此外,如果 BlogValidator 中的验证代码很少,也可以不需要这个类,简单的在 controller 中通过下面的代码来验证 token 即可:if (validateToken()) { do service;} else { renderJson("msg", "请勿重复提交");}
2017-07-16 11:20
必须是可以的,只需要写点 Mock 类进行辅助就好,如果自己懒得写可以用一下现成的:https://git.oschina.net/brucezcq/JFinal-ext2/tree/master/src/test/java/com/jfinal/ext/test别忘了用上以后写个分享出来,帮助到更多的小伙伴
2017-07-16 10:54
直接接写一个 RedisExt 类,然后里面直接添加一些你自己需要的方法去用就好,用的时候这样 RedisExt.xxx(...);
2017-07-16 10:53
这段同步代码去掉也可以让程序正常工作,但是 cacheManager.addCacheIfAbsent(cacheName); 方法上有 synchronized 关键字,添加一个针对线程的 double check 是为了提升点性能当然 getOrAddCache(...) 应该不算热点代码,通常情况下就算不用 double check 模式对性能应该也不会影响