2018-02-27 18:07
单步调试一下 MetaBuilder 这个类中的获取主键的相关代码,看一下主键是否可以获取到
2018-02-27 18:06
我自己使用 redis 都是将其用于一个中心化的共享缓存,还没有用过 redis cluster,因此也就没有时间添加这个支持如果你需要使用这个功能,可以通过继承 RedisPugin,覆盖掉父类里面的 protected 支持 cluster 属性即可支持或许将 JedisPool 改成 JedisSentinelPool 就差不多搞定了这里还有一个比较全面的分享:http://www.jfinal.com/share/69
2018-02-27 17:59
确保 getChildren() 方法已被调用如果是用的 jfinal 自带的 json 功能,那么不会调用这个 getter 方法,使用 fastjson 实现即可:me.setJsonFactory(new FastJsonFactory());
2018-02-24 16:03
提供一个简单方案: 利用 jgroup 发广播来实现集群中当前节点缓存数据有变动时,先删掉当前节点缓存的相关数据,然后使用 jgroup 发广播告诉集群中的其他节点也删除相应的缓存发广播时发个 cacheName 与 cacheKey 组合的字符串即可,收到广播的节点解析出 cacheName 与 cacheKey 删除缓存即可此外,也可以利用 ehcache 自己的方案实现同步,查看下他得文档
2018-02-24 14:06
@大爷暗夜 jfinal 在底层就是直接将你的 sql 与参数直接转调一下 JDBC 的 API,只要是 JDBC 支持一定就可以单步调试进入底层,看参数是什么或者打开一下 arp.setShowSql(true) 输出一下 sql
2018-02-24 14:02
app.name 是怎么配置的?
2018-02-24 13:59
当然,还有很多别的解决办法,例如,在最外层套一个 select * from (原sql) as temp也可以试试 paginateByFullSql 来解决如果不是 paginate 分页,则不会出现这个问题
2018-02-24 13:58
你将 #para(...) 这个指令用在了最外层的 select 子句中,那么会被 paginate 方法的计算 totalRow 的 sql 去除,所以 sql 就是错误的最简单的办法是直接用输出指令输出这个参数值: #(_SQL_PARA_[0])
2018-02-24 13:54
下载最新版本 jfinal_demo_for_maven,这个版本与 freemarker 已然没有关系
2018-02-24 13:53
FileRenamePolicy 中有一个 public File rename(File f) 方法, 会在上传文件碰到文件已存在时被回调使用上你自己希望的文件名,然后 return new File(你希望的文件名); 即可
2018-02-24 13:50
@大爷暗夜 in(?) 这部分注意,有多少个参数,就要有多少个问号,例如,有1 2 3 这三个参数的情况: in ( ?, ? , ?)
2018-02-24 13:22
注意看这句: Caused by: java.lang.ClassNotFoundException: com.jcbase.conf.JcConfigclass not found exception 这个不必多说了
2018-02-24 13:21
像传统项目一样,为 html 中的资源都添加上 context path 即可具体作法是:1:engine.addSharedObject("cxt", JFinal.me().getContextPath());2:页面所有资源添加 cxt,例如:《img src="#(cxt)/img/logo.jpb"》强调一下,这个问题与 jfinal 毫无关系,标准的 Java web 项目的作法即可解决
2018-02-24 13:18
一定可以的,是别的原因引发的,仔细排查一下
2018-02-23 18:09
通过 JNDI 获取到 DataSource 直接传给 ActiveRecordPlugin 构造方法即可