2017-03-07 12:05

@Ferrari8899 开发的时候,多多使用单步调试,调试的时候,可以观察变量窗口中的变量类型与变量值,极大提升开发效率:程序是调试出来的,不是写出来的

2017-03-07 11:28

js 貌似有精度问题,考虑将之转成 string 就没问题了

2017-03-07 11:27

分两部走:
1:添加全局拦截器:me.add(new SessionInViewInterceptor())
2:在模板中使用前缀访问:#(session.key)

2017-03-07 10:57

在最外层再套一个 select * 就好,大致这样:
paginate(1, 10, "select *", "from ( 原 sql ) as temp", ...)

2017-03-06 23:31

控制台输出的 jfinal action report 中的 parameter 这部分是什么? 先看一下参数的格式再决定如何走下一步

2017-03-06 22:45

还没顾上,一定会添加该功能的

2017-03-06 21:59

@出关客 其实你也可以在自定义指令中不必关心 setExprList 这个方法,而只关注 exec 这个方法,在这个方法中直接使用父类中的
protected ExprList exprList 这个属性值就可以访问到了,注意看一下 jfinal 官方扩展的几个指令是如何直接在 exec 方法中使用 exprList 这个对象的

多说一句,还有另一个父类的 protected Stat stat 对象,直接调用其 exec 方法就相当于访问到了具有 #end 结尾符指令的 body 部分

2017-03-06 21:36

@出关客 具体可参考一下 #date 这个扩展而来的指令,重点看一下里面的 setExprList 方法

2017-03-06 21:35

@出关客 如果是 map 以参数形式传的,那么在这个自定义指令中创建一个 setExprList(ExprList exprList) 方法,通过 exprList 这个参数就可以获取到这个 map

2017-03-06 19:34

@板砖哥 jfinal 3.1 才可以让 p 指令这样来用: #p(cond.key),目前你先用一个 #set 指令过渡一下,这样用:
#set(key = cond.key, value = cond.value)
#p(key) #p(value)

2017-03-06 17:31

对于上面注意的第一点来说,并不是专门针对 jfinal 来说的,使用其他开发框架也一样

2017-03-06 17:30

@出关客 文档中有一小节对 map 定义有过说明,这个就是 key value 传参方案

2017-03-06 17:29

@sruz 最省事的办法是将数据表字段直接搞成驼峰的,然后使用 MixedJsonFactory,所有事情都没有了

FastJson 除了不支持 record 以外,一切都好,这也是 MixedJsonFactory 之所以存在的最大原因

2017-03-06 17:27

简单说,就是不存在单独的管理员登录的入口,让攻击者少了一个可攻击的地方,只有登录以后的管理员身份可以访问 admin,否则全部显示 404 页面

2017-03-06 17:26

在前端登录进去,然后访问一下 localhost/admin 即可,jfinal club 项目中有一个说明文件,说明了为何这样处理,仔细看一下里面的说明文件