2017-05-15 22:31
第一个问题,在手册中有红色字体说明, getBean 或者 getModel 时带一个 null 或 "" 空字符串参数就可以了,例如:
getBean(User.class, null);
如果希望在注入时跳过转换异常还可以再添加一个参数:
getBean(User.class, null, true);
在手册中都有说明
第二个问题, batchSaice 设置成 100 ,是在达到 100 时提交事务,提交后不能回滚。
第三个问题,jfinal 提供了一个 Validator 基类,对于多数情况可以直接继承并使用其中的 validate 系列的方法。对于不满足需求的可以利用里面的 validateRegex 来扩展,或者用 if 判断来扩展。你可以扩展出一个自己的 BaseValidator,在里面添加一些自己需要的常用校验方法
2017-05-12 18:15
@欲风217 注意看手册中有关逻辑表达式的规则,在总体上保留 java 规则的前提下,进行了有利于用户体验的改进
2017-05-12 18:14
@欲风217 #if(x.value != null && x.value != "") 可以做如下改进:
#if(x.value && x.value != "")
jfinal 对于逻辑运算进行了简化, if( value != null) 等价于 if ( value ),因为 if (null) 为 false
2017-05-11 22:01
补充一下:如非必要不要使用 ?? 运算符,否则就是代码冗余,当一个变量为null 时通常也没有必要使用 ??,只有下面两种情况需要使用:
1:需要为 null 值提供一个默认值,例如下面的表达式:
abc ?? def
当 abc 为 null 时,整个表达式的值为 def
2:当 field 取值表达式或者方法调用表达式的被操作对名为 null 时,例如下面的表达式:
obj.method()
当 obj 可能为 null 时,才需要使用: obj.method()?? , 如果确定 obj 不可能为 null就不需要
user.nickName
当 user 可能为 null 时,才需要使用:user.nickName ?? , 如果 user 不可能为 null,即便是 nickName 为 null 也不需要使用 ??
综上, ?? 表达式不要过度使用,只有要必要的时候才使用,否则到处是 ?? ,影响美观,而且代码冗余