2017-10-19 17:00
@lyq027 jfinal 的数据库功能,本质就是将 sql 与其参数直接转手给 jdbc,所以,只要是 jdbc 可以做到的, jfinal 都支持
2017-10-19 16:39
@lyq027 用一个 as 就可以了,例如: select sum(money) as money
不用 as 的话,也可以,只是不方便: model/record.get("sum(money)");
2017-10-18 19:59
在日志里面针对这个异常单独配置,忽略掉这个异常就可以了,假定你的配置前缀为 log4j,大致如下:
log4j.com.jfinal.render.FileRender = OFF
不太记得配置细节了,上面的配置可能是错误的,如果不对,再试试下面这个:
log4j.org.apache.catalina.connector.ClientAbortException = OFF
还有一个更好的办法就是通过继承 RenderFactory 并覆盖掉 getFileRender() 方法,接管这个以后用自己的 MyFileRender extends FileRender 来代替原来的实现
在 MyFileRender 中的大致代码如下:
try {
super.render();
} catch(Exception e) {
if (e.getMessage().contains("ClientAbortException") ) {
// 忽略;
} else {
throw new RuntimeException(e);
}
}
2017-10-18 19:46
做个 MyRenderFactory extends RenderFactory, 并覆盖掉其中的 getJsonRender() 方法,在里面接管 JsonRender 实现
在接管的 JsonRender 中向控制台输出即可,大致这样:
public class MyJsonRender extends JsonRender {
public MyJsonRender(...) {
super(...);
}
public void render() {
super.render();
System.out.println(this.jsonText);
}
}
上面的 this.jsonText 字段名不一定对,以 JsonRender 中的代码为准。最后要配置一下:
me.setRenderFactory(new MyRenderFactory());
2017-10-18 17:32
打 war 包的时候,注意 jetty 相关的 jar 包不要打进去,jetty 的 jar 仅用于开发阶段。
如果你在使用 jetty 时,用的是 maven 项目,并且 dependency 是中的 scope 是 provoided 的,那么不会打进去
此外,看看是不是这些个问题:
http://blog.csdn.net/baimin7657/article/details/8650434
http://blog.csdn.net/u011781521/article/details/53713162
http://blog.csdn.net/bestcxx/article/details/51740652
2017-10-18 16:57
@航程序员 这里没有改过, getModel getBean 默认是需要 modelName 这个前缀的,如果不用的话,第二个参数传入 null 值或空串就可以,例如:
getModel(User.class, "");
getBean(User.class, "");
或者
getModel(User.class, null);
getBean(User.class, null);