2017-07-23 19:13

看了一下源代码, if 分支应该是可以加上这句的:
&& table.hasColumnLabel(colName)

你是否是通过添加这一句解决的,希望能得到你的反馈后,在 3.2 中添加这个改进

这个问题在你的 model 中如果不存在 “非字段” 属性是不会出问题的

2017-07-23 19:00

你已加入了俱乐部,系统统发送过私信给你,根据私信回复我,还有别的福利

2017-07-21 13:50

能否将详细的异常贴出来?

2017-07-21 12:04

升级到 jfinal 3.1 , 这版本已经添加了 hasColumnLable 判断

2017-07-21 10:25

modelClass 这个参数不需要,因为可以通过 getClass()直接获取

2017-07-20 18:41

做一个 MyModel extends Model,在其中实现自己想要的方法,原先继承 Model 的类改为继承 MyModel 即可

2017-07-20 18:41

去 class path 路径下看一下 SystemConfig.txt 是否存在,立即解决问题

2017-07-20 18:40

这个明明是 Cp03Plugin,换上 druid plugin 即可

2017-07-20 16:40

没看出什么问题,可能是细节问题没处理好,单步调试一下

2017-07-20 16:34

解决问题,关键是读懂异常的 Caused by 这一部分,这一部分才是错误的核心所在

2017-07-20 16:34

模板文件未找到而已:
Caused by: java.io.FileNotFoundException: Template "/WEB-INF/pages/admin/invoiceInfo/save.html" not found.

检查一下路径与文件名,大小写要一字不差

2017-07-20 16:33

Db.update("delete from table where ...", p1, p2, ...pn);

just do it

2017-07-20 14:59

直接用 findFirst("select * from t where ...", ....) 即可

2017-07-20 14:57

客户端在下载文件时,中途关掉了而已,如果想去除这个异常,用一个 try catch,然后判断这个异常并忽略它

2017-07-20 11:41

@macaque 拦截器里面做是不会生效的,因为拦截器只拦截 action,不拦截 render

最好的做法是类似于如下:
public class MyTemplateRender extends TemplateRender {
static ThreadLocal threadLocal = new ThreadLocal();

public MyTemplateRender(String view) {
super(view);
}

public void render() {
threadLocal.set(...);
try {
super.render();
} finally {
threadLocal.remove();
}
}

然后通过扩展 RenderFactory 来切换自己的 MyTemplateRender:
public class MyRenderFactory extends RenderFactory {
public Render getRender(String view) {
render new MyTemplateRender(view);
}
}

最后配置一下:
me.setRenderFactory(new MyRenderFactory());