2018-05-28 16:14
@坩埚 注意,你只需要在 response.setHeader("Content-Security-Policy","img-src 'self'"); 后面继续添加 response.setHeader(...) ,并不需要再创建新的 Handler
2018-05-28 16:14
@坩埚 缺啥 header 就添加啥 header,此外你要注意 setHeader 与 addHeader 的区别,如果你某一个 header 是一次性添加的,使用 setHeader 即可,否则使用 addHeader
2018-05-28 15:54
@fmpoffice 这就奇怪了 enjoy 的异常都会指出哪一行出的错,你用的哪个版本的 jfinal ?
2018-05-28 15:35
@ben0133 在 java 8 下使用 Db.tx 可以使用 lambda 表达式,使用起来代码会更简洁:
public void test() {
final Ret ret = Ret.create();
Db.tx(() -> {
Db.update("update ta set f1 = ?", 123);
Db.update("update tb set f2 = ?", 456);
ret.set("key", 123); // 使用 ret 带回点数据
ret.set("msg", "xxxx"); // 使用 ret 带回多个数据
return true; // 返回 true 提交事务
});
}
上面的例子还演示了通过一个 final Ret 局部变量从 lambda 表达式中带回返回值的使用方法,返回多个值的需求也可以很方便地解决
2018-05-28 15:26
@lyh061619 这个是 oracle 驱动的 bug,不太好调整,因为getPrimaryKeys() 方法返回来的是不是主键,这个在 jfinal 这头是无法判断的
2018-05-28 10:56
@snakelenas 回看了你以前的贴子,发现很久以前你还提过一个 JFinalJson 的性能问题,后来改进过了, 感谢你的建议
以后碰到啥问题,一定要提出来
生成级链属性的这个分享,目前的需求量还不够大,如果后续需求很强烈的时候会考虑添加这个功能
2018-05-27 22:43
@山东小木 Writer 一开始是用的 java.io.Writer ,后来改成自己的带有缓冲区的设计 com.jfinal.template.io.Writer,沿用了 java 的方法原型
2018-05-27 22:13
@山东小木 setExprList 的 if 可以再省点代码,可去掉所有 null 的赋值,例如:
if (paraNum == 1) {
this.urlExpr = exprList.getExpr(0);
} else if (paraNum == 2) {
this.urlExpr = exprList.getExpr(0);
this.portalIdExpr = exprList.getExpr(1);
} else if (paraNum == 3) {
this.urlExpr = exprList.getExpr(0);
this.portalIdExpr = exprList.getExpr(1);
this.autoLoadExpr = exprList.getExpr(2);
}
outputNothing() 这个方法内部可以留空,什么也不写,因为 writer.write("") 等价于啥也不输出