2016-12-01 17:03

注意一下,关键在于创建 RedisPlugin 对象时,传入不同的 cacheName 时,要连接到不同的 reids 服务端程序,通常 ip 地址是不同的

2016-12-01 17:02

记得搞定后回来分享一下

2016-12-01 17:02

RedisPlugin 使用 cacheName 是指连到不同的 reids 服务端的通道,或者连到同一个 redis 的多个连接,这多个连接可能连接到了不同的 db

贴子中的代码如果表现出了覆盖的行为,肯定是 bbs 与 news 这两个 cache 配置到了同一个 redis 服务端的同一个 db,改成配置到不同的 redis 服务端或者同一个 redis 的不同 db 即可

2016-12-01 16:51

jfinal 用的哪个版本?

2016-12-01 13:29

方言设置:arp.setDiaect(SqlServerDialect())
如果用了生成器,也要设置:generator.setDialect(new SqlServerDialect())

2016-12-01 10:21

状态是 200,但你的期望是出错应该返回 500 或 404,前提是真的有异常,并且异常并没有被 catch 块给吃掉,如果你在拦截器中有 catch 块,需要再次将异常抛出,jfinal 才会向客户端返回非 200 的状态

此外,如果希望自己设置状态,可以使用 getResponse().setStatus(number)

2016-11-30 21:45

@nbjgl 还有一个简单的办法是,在这些不需要被持久化的属性定义之上使用 transient 关键字

2016-11-30 21:43

@nbjgl jfinal 为了让开发环境中的 jetty 使用体验更好,会让开发者在重启项目以后仍然可以保持住 session,就是以避免在开发类似于后台管理类项目时频繁去输入用户名和密码去登录,所以将 jetty 设置成为了重启前持久化 session 到硬盘

而这个 jetty 对session 中的数据持久化时,要求被持久化的对象是可以被序列化的,而这个 Log4jLog 对象无法被序列化,所以报这个异常

在生产模式下根本不会存在这个问题

2016-11-30 16:44

注意看一下 jfinal 手册上的路由规则,jfinal 路由只有四个类型,极其简单,一分内学会使用

2016-11-30 16:43

因为你的 form 表单中的 action 属性没写对,应该是 action="/blog"

2016-11-30 15:46

改用 fastjson 代替 jackson,替换方法为:
me.seJsonFactory(new FastJsonFactory())
别忘了添加 fastjson 的一个 jar 包进去,在首页有jfinal all zip 下载,里面包括所有 jar 包

2016-11-30 15:43

@raoda825 你的 Model 中已然有了很多的 find 方法,并且这些 find 方法会将返回值直接封装成 Model,为啥还要用 Db.find(...) 呢? 直接在 model 中 find(...) 即可

2016-11-30 14:00

@raoda825 Db.find 系列的方法会将结果包装成 Recod 对象,而 Db.query 不包装对象,仅原样返回为 Object[] 数组,两者查询逻辑完全一样,仅仅对返回值的处理方式不同

2016-11-30 13:32

用 Db.final 而不是 Db.query 后者返回的数组