2016-12-08 11:40

如果你自己的项目够稳定,99% 的可能是对方提供天气的 API 不稳定,用一个 try catch,将所有日志记录下来,隔天的时候看一下就全明白了

2016-12-08 11:38

不用再找原因了,历史上大致有四五个人碰到过这个问题,是因为 oracle 驱动的 bug 引发的,换个 oracle jar 包即可打完收枪

2016-12-08 11:37

jfinal 作为框架,只能做一些权衡取舍,实现最常用的功能,这类同一个 name 提交数组的情况可以创建中间类 BaseController 来根据业务扩展出来,jfinal 对数组获取提供了最基本的方法:getParaValues(...),再不就是可以先通过 getRequest() 拿到最原始的 HttpServletRequest 对象以后,再自由进行扩展操作

根据业务去做这些功能没有什么隐患,希望你搞定以后可以回社区分享给大家,感谢反馈

2016-12-06 22:32

在此下载: https://git.oschina.net/zhouleib1412/jfinal-code-online
这个项目貌似两年没有在更新了

2016-12-06 20:30

@thinkive 异常信息已经极其明确, sql 语法错误而已,把 sql 改对即可打完收枪

2016-12-06 19:37

将 renderJson(page); 这一行改成 renderJson(JFinalJson.getJson().toJson(page)); 即可打完收枪

因为你用的 fastjson 或 jackson 这类工具转换 Record 对象时,这些工具都是依赖于 record 中的 getter 方法,而 record 中有一个 getColumns() 方法,所以会对此方法返回的数据进行 json 转换

而 JFinalJson 可以自动识别 Record 对象,而且不依赖于 getter 方法进行转换

2016-12-06 15:51

由于 redis 只能存 String 与 byte[] 这两种数据,而 java 的数据类型有很多,除了基本类型以外,还有对象类型要存放,所以大部分 java 客户端都会有用先将所有 java 类型转换类型为 byte[] 再存放

还有一种方式可以尝试就是,String 类型原样保存,其它类型转成 byte[] 类型存放,这种方式有个麻烦,就是在获取数据时,你需要想办法知道当前数据需不需要做反向序列化,因为你拿到的数据可能是某种类型转成 byte[] 后存的,也可能是 String 原样存的

基于上面的原因,jfinal 选择第一种方式,存之前全部序列化,取之前全部反序列化。而楼主碰到的问题是,存的那个incr 自增数据并不是 jfinal 存的,而是自动生成的,而取数据的时候却是用的 jfinal 的 api

这个问题是个比较纠结的问题,很早就备忘了,一直没有时间处理。未来可能的处理方式是,在获取数据以后,对数据类型做一下预测,需要反向序列化时才去反向序列化,只不过这个方案不是很优雅,对性能也会有些损失

最后,感谢你的反馈,后续版本会改进这里

2016-12-06 12:44

@SandKing 可是 jfinal 不知道要根据索引和外键生成什么样的查询才合适,希望能给出几个实例来

2016-12-06 12:44

@康康君 创建 add() 这个 action,这个 add 本来就是一个方法,如果不希望 add() 成为一个方法,可以在 url 中这样: http://www.jfinal.com/my/feedback/1,这个纯粹是路由规则问题,建议下载首页的 jfinal 手册看一下

2016-12-06 11:45

jfinal 现在已经提供了基本的 save() delete() update() 已及 findById(...) 系列,相当于是基本的 CRUD 都有了,仅仅只是业务型查询交给了用户,例如 find(sql, paras)

基本的 CRUD 可以通过调用 yourModel 中的相关方法实现,不用写 sql

2016-12-06 11:43

直接改链接,改成: http://www.jfinal.com/my/feedback/add/1,然后后端通过 getParaToInt(0) 即可接收 id 值

2016-12-05 23:19

@l745230 如果要对 404 错误再精细化返回异常信息,这个的确是个合理的需求,jfinal 2.3 会改进这里,感谢反馈

2016-12-05 23:17

@顶风战争 必然可以,ajax 本质上只是一次独立的 http 请求,而这个请求并没有规定返回什么数据,数据到达客户端怎么去处理都很自由

jfinal 社区对于有些 ajax 请求,连 json 都没返回,直接后端 render(xxx.html) 返回的 html 片段,然后 javascript 收到 html 片段后,直接插入到现有 html 之中,极其方便

如果是响应 json 的话,往往还要将 json 数据再拼装成 html 片段,再插入到 html 之中,反而麻烦