能给一个exception处理机制吗?
目前发现 Validator 里面有一点机制, 但是仅仅限于Validate。
异常通常是就直接: 500 Internal Server Error
页面了
期望的效果是: 哪个页面出错, 就停在哪里页面, 但是提示出错误信息。 并且有时候, 根据业务需要, 会主动抛出业务异常, 这些都需要在页面上显示。
1:如果你的 action 使用了 Validator,并且在 validate 方法中有异常是不会跳转到 error 500 页面的。跳到 error 500 的情况是异常在action或interceptor中发生了。
2:使用Validator时,如果需要在哪个页面出错,仍回到哪个页面的功能早已存在了,只不过需遵守约定,即:view = methodName + view
扩展名。
3:页面跳转方面除了上面的约定以外 JFinal 还可以让开发者在 handlerError 指定跳转的去处,这样灵活性更高。
4:原表单的信息保持功能也有,如此办理:controller.keepPara();
总的来说,JFinal 的 Validator 已经实现了此贴中需要的所有功能,只不过使用的时候需要来点约定,如果没有约定,就需要手动去调用一下方法,也就一行代码的事。虽然代码增加了一两行,但适应性与灵活性都大大加强了。如果 JFinal 的Validator仍然不能满足需求的话,自定义一个自全局拦截器实现整个系统的异常管理也非常的方便。
再次感谢提出这么深入的问题,此问题深入到了 JFinal 的设计层面,是作者在设计时无时不刻都在权衡的问题 :)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。