2016-10-09 16:39

方法定义无法用 transient 来修饰,这是个语法错误,所以这个问题也就不存在了

2016-10-09 15:53

@spectre 第一种方法,让提交表单这个操作使用 javascript,在提交之前将隐藏域的值与 action 的值拼接起来即可,第二种方法就是先 getFile()然再再 getPara()得到 filePath,最后再 uf.getFile().renameTo(filePath + fileName) 将原来文件存放的路由改变一下

2016-10-09 15:50

绝对不要在数据库中存放密码明文,而且一定要用 salt 随机盐值,随止彩虹表破解

2016-10-09 15:49

首先如果是 sql 语句得到的这个 list,那么在 select 中指定获取哪些字段,不要使用 select *

其次可以使用 user.remove("password", "salt") 来一次性移除多个不想要的属性

再次可以通过 user.keep("id", "nickName", ...) 一次性只 keep 住希望留住的属性

最后,存放在数据库中的 password 必须是经过加 salt 并 hash 的,算法如下:
hashedPass = HashKit.sha256(password + 32位salt随机字符串)

2016-10-09 15:45

可能是多次上传使用的不同参数生成的多个目录,误认为是一次上传。将目录先删干净,然后设置断点,单步调试确定错误在哪里

2016-10-09 15:10

几乎所有人碰到这个问题都是由于 log4j.properties 配置文件没有或者放的位置不对,导致日志不工作,检查一下,搞定后回来再分享一下

2016-10-09 15:09

补充一点,如果这个 filePath 是用户输入的,可以变化的,那么在 form 表单 action 属性上不方便写死,可以用 javascript 动态改变这个 action 值

2016-10-09 15:02

最简单的办法是在form表单的action属性上使用 urlPara 或者用问号挂参的方式将 path 传过来,这样就可以在 getFile() 之前通过 getPara(...) 获取了,例如:
action="/upload?filePath=/mypath/..."
filePath = getPara("filePath");
uf = getFile("filePath");

还有一种办法麻烦点,先 uf = getFile() 然后,filePath = getPara("filePath"); 最后再用 uf.renameTo(filePath + fileName) 做后续的转换

2016-10-09 10:11

写写 Mock 类就可以了,参考一下 jfinal ext2 或者 jfinal extension 项目,在这里:https://git.oschina.net/brucezcq/JFinal-ext2/tree/master/src/test/java/com/jfinal/ext/test?dir=1&filepath=src%2Ftest%2Fjava%2Fcom%2Fjfinal%2Fext%2Ftest&oid=ac70574ccb68d79f6c72d4ab93a8b03d593e8824&sha=0385c4cb305ec05ac29d95fb3a028645f6df33cd

2016-10-09 10:05

@xRhbN jfinal 手册里就有 qq 群号,此外,在 qq 里搜索 jfinal 群,出来一大堆

2016-10-08 19:59

@xRhbN ajax 提交数据到后端,后端也是 key value 形式,验证方式丝毫不会变

2016-10-08 19:58

初次来社区先看看如何玩转社区的分享啊: http://www.jfinal.com/share/1

2016-10-08 12:09

@云云 有些地方适合用弹出层,看情况

2016-10-08 12:08

有人这么玩过,小心地处理好所有 jar 的依赖,还要在启动时候可以正确加载 web.xml,去群问问

2016-10-08 12:07

Validator 主要用于 POST 提交的表单请求,尤其是表单域多的请求。对于每一个字段的验证本质上就一行代码,如:validateInteger(...)

Validator 中可以获取 actionKey、controllerKey 等数据,所以可以将大量的验证写在同一个 Validator 中,然后用 actionKey 做一个统一的分发,不需要为每一个 action 写 Validator

再退一步,你可以利用 Validator 或 Interceptor 加载外部用于验证的配置文件,这就回退到了 SSH 时代

此外,假如是 GET 或者请求中的字段很少,直接在 action 中做个简单的判断 render 到特定的地方就好,不需要创建Validator

jfinal 的 Validator 有还有很多考虑,例如 API 引导式验证,你在敲入 validateString(...) 这类代码时如果出现手误 eclipse 会提示你,比 SSH 时代用 xml 配置验证要舒服很多,其它一些考虑在此就不赘述了