2017-04-13 17:25

@筱-舞瞳 多个用 UploadFile[] fileList = getFiles(),然后用一个循环处理一下

2017-04-13 15:43

@要输就输给追求 微信买单成功后会向手机微信推送消息,你可以在电脑上用 android 模拟器运行一个微信客户端,拿到这个推送的消息就可以做相关业务了

脑子要多转转

2017-04-13 14:44

你怎么知道本站是实时收款的? 捐助过了?

2017-04-13 14:44

@芒果过敏 没用 static 就不是多线程共享

2017-04-13 14:42

jfinal.com 网站的微信支付是开通了微信支付功能,使用 jfinal weixin 中的功能实现的支付,项目地址在此:http://git.oschina.net/jfinal/jfinal-weixin

微信支付可以在此注册并开通:https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F

微信支付有一个不需要开发的方式进行开通,叫微信买单,这个可能是最适合你的:https://pay.weixin.qq.com/guide/weixin_checkout.shtml

2017-04-13 14:40

@hiberk 通过继承一下 MetaBuilder 类,然后覆盖掉其中的 isSkipTable(String tableName) 方法,可以随心所欲控制想要的处理的 table

isSkipTable 方法 return true 时将过滤掉当前 table,可以利用正则,或者其它自己合适的方式设置规则,只处理自己想要的 table

generator 模块所有组件都面向扩展设计,可以通过继承自由定制功能

2017-04-13 14:35

线程安全是基础知识,一定要搞清楚,否则程序会出现不确定的错误

2017-04-13 14:34

@芒果过敏 只要是多线程可以同时访问的对象就要注意线程安全,是你的代码中有 static,表明有对象是全局共享的,不仅这个 static 声明的对象要注意线程安全,而且这种共享可以像链条一样一直传递下去

性能方面几乎没有差别多调一层方法而已

2017-04-13 12:36

第一种比较绕,比较麻烦而已,没有本质的区别,都是创对象,只是创建的地点不同

2017-04-13 11:23

将那些不需要映射的,没有主键的表进行排除就可以了:
generator.addExcludedTable(tableName)

2017-04-13 11:22

@hiberk 确定是 mysql 数据库? 注意切换方言

2017-04-13 11:21

办法有很多,这里只说三种:
1:创建该拦截器的一个继承类,在构造方法中直接 new UserService() 给它用

2:自定义一个注解,让这个注解可以接收一个 class 形参数,例如创建一个名为ConfigService的注解:
@ConfigService(UserService.class)
然后在你的那个 TestInterceptor 中通过下面的方法创建:
Class serviceClass = inv.getMethod.getAnnotation(ConfigService.class).value();
然后再创建这个业务类对象:
serviceClass.newInstance();
打完收枪

3:还可通过 url 或者 setAttr 或者 threadlocal 来传个参到拦截器,拦截器再做出判断

2017-04-13 11:14

String xml = HttpKit.readData(getRequest()) 即可打完收枪

2017-04-12 21:34

@程序猴 多尝试,都是些基本功能,后端注意看一下控制台输出的 jfinal action report, 其中的 parameter 这一部分,提交请求时这部分一定要有数据

确保数据正确被提交到后端,再着手处理后端的代码,否则将注意力一直留在前端

简单说就是前端解决好送据提交,后端解决好处理数据

2017-04-12 21:14

@程序猴 后端直接: getModel(....).update() 就可以打完收枪了,不需要弄那么麻烦

前的 input 也有问题,modelName 前缀都没有,所以 getModel 完全无法工作,这些都是基本,为何不看看 jfinal 手册,里面 getModel 怎么用,表单中怎么写都有实例

首页的 jfinal demo,有一个 Blog 表单的增删改查,已经简单到了极致,为何不照着里面来写表单:
input name="blog.title"
input name="blog.content"

这些表单的 name 都没有,后端怎么工作?