为什么JFinal2.2中的自动生成Model代码,把setter的链式调用取消了
@JFinal 你好,想跟你请教个问题:
以前都是这样调用的
new Customer(). set(Customer.USERNAME, username). set(Customer.EMAIL, email). set(Customer.PASSWORD, encodPwd). set(Customer.SALT, fakeSalt). set(Customer.IS_ACTIVE, "Y"). set(Customer.CREATE_BY, 0). set(Customer.CREATE_DATE, DateUtil.getNow()). set(Customer.LAST_UPDATE_BY, 0). set(Customer.LAST_UPDATE_DATE, DateUtil.getNow()). set(Customer.IS_DELETE, "N"). save();
Customer newCustomer = new Customer(); newCustomer.setUsername(username); newCustomer.setEmail(email); newCustomer.setPassword(encodPwd); newCustomer.setSalt(fakeSalt); newCustomer.setIsActive(AppCons.YES); newCustomer.setCreateBy(0); newCustomer.setCreateDate(DateUtil.getNow()); newCustomer.setIsDelete(AppCons.NO); newCustomer.save();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
让我感觉又回到了spring的怀抱…
波总过节也在用工啊
回复
过节写代码消遣一下
回复
jfinal 2.3 考虑添加一个配置,用户可以选择是否生成链式调用的 setter
很多第三方的工具依赖于 java bean 规范,java bean 规范下的 setter 方法就是返回的 void,为了避免那些第三方工具工作不正常,所以生成的 setter 方法不支持链式调用。
不过,这是很容易解决的,jfinal 生成器被设计成可扩展,只需要继承一下 BaseModelGenerator,覆盖掉父类中生成 setter的那个方法,把 void 改为返回 return (M)this; 方法原型将 void 改为 public M set.... 即可。