2016-08-23 00:03

如果使用的是 Db 查询这类非 "id" 为主键的表,可以用 Db.findById(tableName, "UserId", 123) 这种指定主键名的方式来做

2016-08-23 00:02

此外,jfinal 2.2 已经将映射自动化生成了,不需要自己处理,在这里下载这个 demo,改改配置就可以生成了: http://www.jfinal.com/download?file=GeneratorDemo.java

2016-08-23 00:01

主键不是 id 的时候这样映射: arp.addMapping("user", "UserId", User.class);

2016-08-22 22:57

没设置方言造成的,添加一行代码: arp.setDialect(new SqlServerDialect());

2016-08-22 21:53

Redis 的 cache 对象通常是在 plugin 初始化时一次性建立好的,当然你也可以动态的地使用 Redis.addCache(...) 以及 Redis.removeCache(...) 动态来建维护些个 Cache。 至于 Cache 的创建,直接 new Cache(...) 就好

2016-08-22 21:49

这些信息是 DEBUG 信息,将日志级别调高些,例如调整到 ERROR,就不会打印这些信息了

2016-08-22 21:48

re 是方法内部的局部变量,每次 sychronized 的时候都是针对的独立的创建的对象,是没有任何意义的。建议你好好学习一下 java 的多线程基础知识

2016-08-22 16:30

@南湖畔 感谢你的支持,头像换一换哈,支持下社区发展

2016-08-22 16:03

第一个建议中,在需要照顾到打破约定的路由规则时,就需要再引入别的办法来解决,而且 jfinal 的现在的路由在满足你的建议方面有如下两点:
1:可以自己写个工具类实现,很容易地去除掉 me.add(...) 这行代码
2:即便是有 me.add(...) 这行代码,只不过是每一个 Controller 需要配置一行而已,有些 controller 中或许有几十个 action,相当于几十个路由,但配置只有一行代码,所以这个与传统的路由配置在工作量上是有本质区别的

2:getPara(paraName) 就可以获取到问号挂参的参数,文档中有说明,而 getPara(int) 获取的才是 urlPara

2016-08-22 15:54

@Dreamlu 不着急,社区的关系链成熟以后,@你的人就多了

2016-08-22 15:51

社区添加 "点赞" 功能后,给你 1024 个赞

2016-08-22 15:49

你终于回来分享了,好友没见你来逛逛 jfinal 社区了,有空多来走走啊 ^_^

2016-08-22 15:47

再补充一下第一点,在现有的 jfinal 路由设计之上,其实只需要写一个工具类就可以将 me.add(...) 去掉了,这个已经有很多人在这么使用了:me.add(AutoRoutes())

2016-08-22 15:46

第二个建议,"p1=xx-p2=yy-p3=zz"这种参数本身用问号挂参就可以了,例如:localhost/article?p1=xx&p2=yy&p3=zz,而 jfinal "xx-yy-zz" 的参数本身就是为了支持更加简短的 url 而设计的。感谢你的反馈,如果觉得有什么还太方便的地方,多多反馈哈

2016-08-22 15:44

楼主的第一个建议,jfinal 基本上是采用的这种方式,只不过对于每一个 controller 要进行一下类似注册的操作:me.add(controllerKey, controllerClass, viewPath),最后生成的路由与类主所说的是一致的:"/controllerKey/method/parameters",可能楼主是希望在此基础之上,连 me.add(...) 这个操作都去掉之。这个确实很容易去掉,只不过,去掉以后,需要引入额外的概念去完善所缺失的功能,例如,用户希望路由的 controllerKey 是随意变的,有时候不希望与约定一致,而且注册相对于扫描反射的方式更加安全,因为扫描的时候可能会扫描到第三方 jar 中的controller