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 之中,反而麻烦

2016-12-05 23:14

从代码上看简洁清晰,应该不错,有需要的朋友可以用一用,感谢你的分享,赞一个

2016-12-05 23:13

只要是 me.setXxx 都约定为 public class YourJFinalConfig extends JFinalConfig 类中的某个 configXxx 方法

2016-12-05 23:13

@sam68888 在 public class YourJFinalConfig extends JFinalConfig 这个类的 configConstant(Constants me) 这个方法之中

2016-12-05 23:12

这种处理办法性能还不错,而且代码量少,感谢回来分享,赞一个

2016-12-05 17:16

@clatt 不需要,jfinal 并未干预过原味的 session,仅仅只是在 Controller 中的部分 api 中调用了原味的 session,所以说,以前是怎么用的,现在还是怎么用

2016-12-05 17:09

在 web.xml 中配置一下 SessoinListener 即可打完收工

2016-12-05 17:07

@顶风战争 正确的用法 jquery form 是不会刷新页面的,因为这个是 ajax 最基本的特征。可能是你的 js 在 ajax 操作完成之后,再做了页面跳转或刷新的操作,仔细检查一下

2016-12-05 17:05

这个异常是 404 url 找不到异常,而 url 中的参数错误归类到了 url 本身的错误,所以也就没有将异常消息传给父类的 Exception 中,只是在 warn 日志级别做了日志,一般情况下是满足需求的,不知道楼主什么样的需求?