2016-08-08 20:55
com.jfinal.core.Injector.java: injectModel(...)
Line 127:
try {
String[] paraValueArray = entry.getValue();
String paraValue = (paraValueArray != null && paraValueArray.length > 0) ? paraValueArray[0] : null;
if (StrKit.notBlank(paraValue)){
model.set(attrName, TypeConverter.convert(colType, paraValue));
}
} catch (Exception e) {
if (skipConvertError == false) {
throw new RuntimeException("Can not convert parameter: " + paraName, e);
}
}
2016-07-27 21:43
@JFinal 设置了new PostgreSqlDialect()。(默认情况下,JFinal好像是MySQL),JFinal 2.2
2016-07-27 11:29
@JFinal 是这样的,数据库也是PostgreSQL,主键是bigSerial,就是自动增加的长整数。添加一篇文章的时候,为了区分是新加还是编辑,在页面上有个隐藏字段,ID。在服务器端取到的值是null,通过Model.getModel取到的ID是null,保存数据库的时候,抛出主键异常。
我认为,在页面上,""和null都表示空,在WEB程序中,有的时候,还需要特出处理字符串“null”值。所以,在这里就认为,如果是"null"字符串,也认为是没有值。欢迎就这个问题讨论。
你说的问题确实存在,对于界面模型,可能他输入的字符串就是null。。。。。。。
这个地方或许真的值得商榷。
感谢JFinal作者。
2016-07-27 11:23
@JFinal 提示类型不匹配,PostgreSQL, 参数是Date,通过setObject(....),这样抛异常。