2018-10-25 11:25

这个问题以前有一个同学碰到过,原因是 by_prod 这个字段在数据库中最前面有个回车字符,这个字符是肉眼看不到的,将表中的 by_prod 字段删掉重新创建就好

2018-10-25 11:23

感谢你对俱乐部的支持 ^_^

2018-10-25 11:20

@shenyao jfinal 是遵守 servelet 规范的 web 框架,所以本来就可以打成 jar 包来运行,只是官方并没有给出 demo

自己要做的话是要花点时间研究,这里有很多资源可以参考:
http://www.jfinal.com/share/770
http://www.jfinal.com/share/860
http://www.jfinal.com/share/786
http://www.jfinal.com/share/422

jfinal 官方没给出方案,是因为正在开发 undertow-server 项目,undertow 是为嵌入式 web 服务而生的,易用性、轻量级、性能都比 jetty 要好,所以就没有必要出一个 jetty 版本的

2018-10-25 01:28

@简单代码 jfinal 3.5 已经提供了 getRawData() 来获取 json 数据了

2018-10-24 19:27

这个好像不是 jfinal 项目呢,全程没有出现 jfinal 字眼

2018-10-24 17:14

@nihaohaaaaa 看一下 FileRender.java 源代码,在 render() 方法中打个断点看看

2018-10-24 15:17

在 jfinal 中的 YourJFinalConfig 中添加一个方法:
public void afterJFinalStart() {
这里添加集成代码,启动 im 模块
}

上这个方法整合就好

2018-10-24 15:16

@nihaohaaaaa 你说的这段话:“renderFile() 不是能在前台直接打开一个新的窗口吗?@JFinal”

方向错了, jfinal 是纯后端的东西,是无法干涉前端的事情的,前端是 js 的事情,你打开 F12,再按一下 esc 键会出来 js 报的异常,根据异常解决

2018-10-24 14:07

这个是文件下载,看一下下载后的文件打开以后是不是乱码

你直接用浏览器的 F12 打开的,浏览器可能不认 xls 的文件格式,所以看上去是乱码,其实不是

2018-10-24 13:10

@山有鬼兮 3.4 升级到 3.5 完全不需要犹豫

2018-10-24 12:15

@xgd 前段时间已经打包发布了,首页可以下载

2018-10-24 11:00

jfinal 3.5 的话直接用 getRawData() 接收就好

2018-10-23 23:47

@alotuser 具体怎么做呢? 能否在贴子里头补充点示例性的代码?

我在直觉上感觉这个没法处理,因为 setter 方法也是要用于正当功能需求的,如果过滤的话,也就影响正当功能了

2018-10-23 21:06

@alotuser 源头不好杜绝,假定你的 account 这张表有个字段叫 money,然后你的 Model 通常也会有 setMoney(int) 方法,这个 setMoney(int) 在正常使用情况下用于合理的需求,例如更新 money 值的时候

但为了合理需求而创建的 setMoney(...) 方法也会被非法利用,恶意用户可以人为制造带有 money 字段的 post 请求,客户端的这个恶意操作是无法消除掉的

2018-10-23 19:49

再补充一下, jfinal 的 Model 中还预备了一个回调方法叫 public void filter(...),只要你的 model 中覆盖掉这个方法,就会被回调,如果希望有更高的安全性,避免其他开发者没有使用 Model.keep(...) 从而造成问题,还可以像下面这样来做:

public class User extends Model {
protected void filter(int filterBy) {
// 这里使用 keep 或者 remove 过滤掉一些不希望被操作的对象
// 在需要对这些字段进行操作时,使用别的方式来做,例如Db.save()
}
}