2017-10-23 11:11

加个 if 判断一下就可以了,例如:
#if (col1) col1 = #para(col1), #end

2017-10-23 11:10

感谢分享

jfinal 数据库操作在底层是用的 JDBC,操作模式上就是创建 sql 及其 paras,然后直接扔给了 JDBC,理论上只要是 JDBC 可以操作的, jfinal 都可以

mybatis 也是对 JDBC 的封装,相信其 selective 操作也是在 JDBC 基础上做了更一层封装

2017-10-23 11:03

access token 时效是 7200 -5 秒,微信官方要求的是 7200 秒,为了更保险 jfinal wexin 让这个时间减少了 5 秒

jfinal 通过 IAccessTokenCache 接口来存放,并且通过内部检查机制来确宝时效性

即便是中途没到 7200 秒失效的 token , jfinal weixin 也做了处理,因为每次调用 api 后,jfinal weixin 对返回值中的状态码进行了判断,只要状态码显示 token 过期,立即会重新获取

具体实现方式,可以看代码

2017-10-23 11:00

File.exists(...) 这个方法是 java sdk 中的 API,这个 jfinal 肯定是干预不到的

返回是 false,很可能就是不存在,与 main 里测试结果不同,很可能是 imgUrl 这个参数值存在细微差别

2017-10-23 10:59

先用这个方法顶一顶,实在没有时间:
http://www.jfinal.com/feedback/1654

2017-10-23 10:57

url 错了而已,改过来就可以了

目测是多了一个 document,目前是两个,而且一个有 s 结尾,一个没有

404 错误这个没有什么可以讨论的,就是 url 的事

2017-10-23 10:54

这个问题大家从来没有人碰到过,比较确定只要细心就可以解决问题

2017-10-23 10:53

BeanUtils 这个东东没有用过,不了解细节,没法帮到你

2017-10-23 10:52

假定表名为 member,以身份证号为例,可以将 input 的 name 做成这个样子:
name="member[0].idNumber"
name="member[1].idNumber"
name="member[2].idNumber"
如上所示,可以在 modelName 上做文章,给添加上一个数组一样的号,当然,你也可以添加下划线,道理是一样的

然后在 controller 中用一个循环来获取就好了:
List memberList = new ArrayList();
for (int i=0; iMember m = getModel(Member.class, "member[" + i + "]");
memberList.add(m);
}

上面是大概的代码,仅给出思路

2017-10-23 10:48

JFinal-assets 这个项目是 @卢春梦 @如梦技术 写的

2017-10-23 10:47

解决 NullPointerException 异常没有什么好说的了,单步调试找到那个引发异常的值为 null 的对象即可

2017-10-23 10:44

Record 是没有与任何表进行关联的,所以需要使用 Model 或者普通 java bean 来接收数据:
getBean(....)
getModel(...)

2017-10-23 10:43

@裸奔的灵魂 放在 IDEA 下,注意 dependency 的 scope 不能是 provided ,必须是 compile