2018-07-24 17:48

@青春 关于启动的问题,一定要看一下文档中的声明:
http://www.jfinal.com/doc/1-5

tomcat 的启动,建议看下我的博文:
https://my.oschina.net/jfinal/blog/353062

2018-07-24 16:37

jfinal 项目的 404 是这样的:
http://www.jfinal.com/a/a/a/a

如果不是这样的,那肯定是项目没有真正运行起来,检查一下配置

2018-07-24 11:18

只要表名对了就可以了,与下划线肯定是无关的

此外,linux 下还要注意表名的大小写

2018-07-24 10:49

@lang3126 日志的配置要配置好,就可以输出到日志文件了

2018-07-23 22:44

Base64 已经有了,在 Base64Kit.java 这个类文件中

RSA 这个目前还没加,jfinal 一般是在用到时才添加,因为要加的东西太多了,只能添加最强烈需求的功能,否则 jfinal 会变得很庞大

2018-07-23 22:40

多年前就有人整合过了,一时找不到项目代码,去 github gitee oschina 等地方搜索一下

2018-07-23 22:36

@flash866 这个是 ueditor 的基本功能,用 javascript 实现的

2018-07-23 22:35

代码被裁掉了很多重要部分,看不出来

2018-07-23 22:34

调用一下: SqlReporter.setLog(true) 即可输出到日志

2018-07-23 22:33

cos 2017 已经支持多图片同名上传了,size 还是 1 很可能是你的项目中是被 cos 老版本所影响

2018-07-23 17:15

@飞.飞 @netwild 现在你可以在你自己的 BaseController 添加一点点代码来实现:
private String rawData;

/**
* 获取 http 请求 body 中的原始数据,通常用于接收 json String 这类数据

* 可多次调用此方法,避免掉了 HttpKit.readData(...) 方式获取该数据时多次调用
* 引发的异常
* @return http 请求 body 中的原始数据
*/
public String getRawData() {
if (rawData == null) {
rawData = com.jfinal.kit.HttpKit.readData(request);
}
return rawData;
}

public T getRawDataTo(Class targetClass) {
Json json = Json.getJson();
if (json instanceof com.jfinal.json.JFinalJson) {
return (T)FastJson.getJson().parse(getRawData(), targetClass);
} else {
return (T)json.parse(getRawData(), targetClass);
}
}

public Kv getRawDataToKv() {
return getRawDataTo(Kv.class);
}

2018-07-23 17:13

参考一下文档中 sql 管理模块的高级用法:
http://www.jfinal.com/doc/5-13

参数可以放在 Map 中,map 的 key 可以带有大于、小于、等于这类比较符号,例如:
#sql("find")
select * from girl
#for(x : cond)
#(for.first ? "where": "and") #(x.key) #para(x.value)
#end
#end

用的时候这样传参:
Kv cond = Kv.by("age > ", 16).set("sex = ", "female");
SqlPara sp = Db.getSqlPara("find", Kv.by("cond", cond));
Db.find(sp);

然后再在 sql 中利用 #for 指令配全 if 判断就可以实现复杂的功能了

最后,你还可以利用 #define 定义一些常用的功能,例如组装 id in (?, ?, ? ....) 这类语句的 #define idIn(idList)

2018-07-23 16:59

异常已经很清楚了:
The type DemoConfig must implement the inherited abstract method JFinalConfig.configEngine(Engine)

2018-07-23 11:00

Db.query("select fieldName from tableName")

2018-07-22 17:49

TxByActionKeys 会匹配拦截器中的 invocation.getActionKey() 获取的值,匹配到则开启事务