2017-12-09 19:29

Db.getSql(key) 在 jfinal 3.3 是有的, 3.0 有点不记得有没有这个方法了,建议升级到 jfinal 3.3

jfinal 3.3 手册有详细的升级说明

2017-12-09 19:27

如果不希望使用自增 ID,用一下 set 方法,放入 id 就可以了,就像下面这样:
user.setId(uuidValue);
user.setXxx(...);
user.save();

如果没有生成 baseModel,就需要这样:
user.set(idName, idValue);

2017-12-08 23:33

@RobinTT 跳到锚点处是一个纯前端问题,后端任何框架都没法控制

跳到锚点在前端有两种办法:
1:javascript 代码跳
2:用户点击了一个带有锚点的超链接

后端 web 框架仅仅只能渲染出模板的内容,并不能控制跳转

2017-12-08 20:26

添加拦截器,对所有请求进行权限验证

2017-12-08 20:26

@libofei 这就奇怪了,只要配置好 me.setJsonFactory(new FastJsonFactory()); 一定是可以用 JsonKit.parse(...) 方法的

报什么异常没有,此外,查收一下私信,系统发给过你重要信息

2017-12-08 18:25

直接调用 getSession(true).invalidate(),不要通过 getRequest() 转调

2017-12-08 17:52

@fox 知道有两处可以传递路径参数就可以,规则只有很小的变动

2017-12-08 17:51

@fox 老版本配置可能是:
me.setFileUploadSaveDirectory(...)
名字有所有不同,规模应该一样

但 getFile(...) 方法传入的路径规则有变动,老版本的 getFile(...) 是可以指定任意路径,也就是绝对路径的,新版本的 getFile(...) 指定的路径被限定在了 baseUploadPath 之下

2017-12-08 17:28

1:在 YourJFinalConfig 中的 configConstant(Constants me) 方法中这样配置:
me.setBaseUploadPath("upload");

如果以 "/" 打头,或者以 "D:/" 这样的绝对路径打头,会配置为你电脑硬盘的绝对路径,否则会配置为以项目根为基础路径的一个相对路径

例如,下面是两种不同的配置:
me.setBaseUploadPath("/upload");
me.setBaseUploadPath("upload");

前者将存放在你当前硬盘的根下面的 upload 目录下,后者将存放在你项目根之下的 upload 之下

2:以上。

此外,调用 getFile(...) 方法时可以临时传入路径,这个路径仅仅是相对于 me.setBaseUploadPath(...) 配置的路径的路径

2017-12-08 17:19

感谢分享

2017-12-08 15:16

输出的 jfinal action report 表明,多出来一个请求,url 为:
/mt/managenews/editorNews2

这个没有什么特别好的解决办法,找到那个发请求的客户端/js 就可以了。一个好办法是在浏览器中按一下 F12,打开开发者工具窗口,看一下浏览器发送的请求是哪个页面,哪段 js 发起的

2017-12-08 15:02

看一下 club 中的 UploadService.saveOriginalFileToTargetFile(...) 方法,其中就有一个 renameTo(...) 的用法

renameTo(...) 这个方法是 JDK 的 java.io.File 中的 API,它的行为是 jfinal 没法左右的,这个方法并不是 jfinal 提供的

其实名字已经改掉了,只是你没有看仔细,注意一下除了名字以外,文件路径也要弄对,否则改名放到那个目录去了都很难找到

在做的时候,可以先将 renameTo(fileName) 中的 fileName 单步调试看一下,或者输出到控制台看一下

2017-12-08 12:03

小巧实用,感谢你的分享

2017-12-08 12:01

看一下 jfinal 手册第 5.13 小节《任意环境下使用 ActiveRecord》,只需要动态:
arp = new ActiveRecordPlugin();
然后动态启动它:
arp.start();

用完后,动态关闭它:
arp.stop();

这样你就可以自由控制 arp 的生命周期了,将原来在 configPlugin 中创建与初始化 arp 的代码拿掉