2019-02-28 11:44

findFirst 方法的注释中已经明确说明了要根据不同的数据库添加不同的限定,例如 mysql 是添加 limit 1:
select * from xxx where ... limit 1

这个设计在 8 年前是这么来考虑的:
1:不同的数据库由于限定方式不同所以 Dialect 中没有帮你加 limit 1,而是留给用户自己加

2:后来过了几年有人提出这个需求,希望 jfinal 自动加 limit 1,但这时考虑到会影响已经加过 limit 1的用户,也就没再动这里。虽然可以通过判断 sql 中是否存在 limit 来决定要不要加 limit,但代码不太优雅,也就作罢

3:不同的数据库是加不同的限定,如 Sql Server 是加 select top 1,所以想加也不太方便,担心会干扰现有 sql,不如用户自己加来得方便

4:退一步讲,findFirst 查询一般用的查询条件是 id 值,出现问题的情况并不多

总得来说还是该进一步处理一下,jfinal 3.7 考虑改进

2019-02-28 11:35

在 jfinal 里头是为了减少代码量而上的功能

按传统说法,依赖注入的好处是方便在未来通过配置的方式注入不同的实现类,从而实现不同的功能

例如,你先是给定一个 IService 接口,今天你通过依赖注入的是 AaaService 实现类,下个月你希望给注入一个 BbbService 实现类,这时候就可以通过配置来改变实现类

而在实际的工程应用中,这种动不动就依赖注入的搞法并不划算,因为你要在未来改变实现类的需求在实际上是很少的,退一步讲即便在未来出现这个需求了,直接改代码也很方便

所以,为了一个在未来可能出现的需求,而在当下随处都弄上依赖注入在工程上是很不划算、很愚蠢的做法

依赖注入更适合于框架类的系统,而不是应用系统。 框架类的系统面临的场景足够多

所以,jfinal 中提供了非常多的 setter 方法对很多功能都可以配置,而配置进去的东西相当于依赖注入,例如:
me.setRenderFactor(...)
engine.setSourceFactory(...)
arp.setContainerFactory(...)

只有在你确定有很多实现需要切换的时候才有价值

2019-02-28 11:29

最搭的就是你手头的用拦截器实现的那套权限框架了,简单方便

2019-02-28 11:28

参考一下这个:
https://www.iteye.com/problems/35555

2019-02-28 11:27

@sandyxie 很奇怪的问题,从来没人反馈过,你试试升级到最新版本的 jfinal 3.6

再一个,你 extends 的这个 Model,检查一下是不是 com.jfinal.plugin.activerecord.Model

2019-02-28 11:26

@nommpop 直接用 value.toDouble() 或者 value.toFloat() 即可,注意看文档:
https://www.jfinal.com/doc/6-9

2019-02-27 21:27

@猴子的花果山 路由的详细文档在这里:
https://www.jfinal.com/doc/2-3

2019-02-27 21:16

@猴子的花果山 建议用 jfinal 原生的路由功能,简单方便,稍微习惯一下就好,省去很多麻烦

要知道 jfinal 原生路由是支持 Routes 级别的 Interceptor、ViewPath、mappingSuperClass(boolean) 的

2019-02-27 20:16

@年少 在 jfinal 这端不需要动什么地方吧?

2019-02-27 17:38

@凌云sama model 中不要使用属性,直接使用 mode.put 方法放入一些额外的数据即可

在转 json 时使用 JFinalJson.getJson().toJson(...) 进行转换

这个问题多多单步调试就一目了然了,在 getter、setter 方法中设置断点调试

然后 Model.set(...)、Model.get(...) 中也可以设置断点调试一下

2019-02-27 17:35

首个有源码的 jfinal + shiro + jwt 分享,感谢

2019-02-27 17:32

@jianggr jfinal undertow 升级到 1.5 了没有?

2019-02-27 17:27

jfinal 并未提供 @LeeAction("/apply") 这种用法,应该是你们扩展过的功能,看看源码如何实现的

2019-02-27 16:55

建议升级到 jfinal 3.6,很平滑,这里有升级文档,一分钟内升完:
https://www.jfinal.com/doc/14-1

2019-02-27 16:54

@onelit jfinal 3.5 用的 jetty-server 应该还是老版本的: jetty-server-8.1.8.jar

在社区下载一下:
http://www.jfinal.com/download/?file=jfinal-3.5-all.zip

jfinal-3.5-all.zip 这个压缩包里头有 jetty-server-8.1.8.jar