2018-03-23 16:05
@HingLo BaseAction 中如果存在 public 方法,但又不希望是 action 的话,可以在方法上添加一行代码:
@Before(NotAction.class)
2018-03-23 11:55
@怎懂落寞 对于翻页来说,通常就是 url 问号挂参,代码的写法多种多样,就看你对 enjoy 理解的深度,我下面给出一种写法:
#set(append = "applicant=" + applicant + "&department=" + department ....其它条件省略)
#set(append = "?" + append)
#@paginate(blogPage.pageNumber, blogPage.totalPage, url)
上面的代码也就是说,无论你变量值是否存在,我都给你拼接上,没有的话就是 null,被传到后端时过滤掉这些 null 值条件去生成 sql
当然,还有更好的办法,做个模板函数或者 shared method 来辅助,下面给出模板函数的方法:
#define buildAppend(cnd)
#set(append="");
#for(x :cond)
#if(x)
#set(append = append + x)
#end
#set(append = "?" + append);
#end
用的时候这样:
#@buildAppend([applicant, department, kemu, payment ....其它条件省略])
以上就相当于是写程序了, enjoy 的功能全在那里了,具体怎么使用就看你自己了
2018-03-23 11:21
@JFinal9527 如果是放 cache 中,也取来 token 也是要看看是否过期,过期时间是在放在 cache 当时就计算好的,取出来的时候只需要与系统当前时间对比一下就可以了
当然,你如果用的 ehcache 可以设置最大存活时间,让 ehcache 的过期功能来代替判断,不过你仍然也可判断 cache 是否存在,不存在代表已过期
2018-03-22 18:04
@yjjdick1990 用好 Spring 的 AOP 来代替 jfinal 中的 Tx 拦截器就能实现了,有好几个这个问题的分享,可以找找
2018-03-22 18:02
@陈本布衣 这个问题与 model 的 get set 方法无关,也与是否为普通 jave bean 无关,与sqlite 不支持 JDBC 规范有关
jfinal 的数据库组件,仅仅只是对 JDBC 做了一次极薄封装。相当于 jfinal 仅仅只是将你的 sql 与其参数,直接扔给了 JDBC