这段代码一直是从jfinal3.3-3.8使用:
try { password = RSAKit.decryptionToString(password); loginService.aopLogin(userCode, password, getRequest()); redirect(!returnUrl.equals("")?returnUrl:"/"); } catch (Exception e) { handerException(e); SysUser user = sysUserService.findByUserCode(userCode); if (user != null) { isShowVerifyCode(user); } setAttr("returnUrl", returnUrl); setAttr("msg", e.getCause().getMessage()); render("login.html"); }
但是升级到4.2之后,e.getCause().getMessage()就出错了,原因是e.getCause()==null,不知道怎么会出现这个差异。
jfinal3.8之前的版本e.getMessage()会带上类的全名,所以要用到e.getCause().getMessage();
项目:JFinal-layui
我不知道具体原因,因为这块的变化并不涉及异常,老版本的业务层 AOP 用到了 cglib ,或许是 cglib 内部的处理方式与 jfinal 4.2 的有所不同
或许是你自己的代码有所变动引起的