java - Wicket 口 6 中的异常处理进入反馈面板

标签 java wicket

有没有一种方法可以在一个地方处理 wicket 应用程序中的所有异常

我想要这个:

// I am not sure if this is right place
            this.getRequestCycleListeners().add(new AbstractRequestCycleListener() {
                @Override
                public IRequestHandler onException(RequestCycle cycle, Exception e) {

                    if (e instanceof MyException) {
// display message in feedback panel of current webPage like: getString(e.getCode())
                    }    
//redirect to some Error page 
                }
            });

最佳答案

你走在正确的道路上:

getRequestCycleListeners().add(new AbstractRequestCycleListener() {
    @Override
    public IRequestHandler onException(RequestCycle cycle, Exception e) {
        MyException myE = Exceptions.findCause(e, MyException.class);
        if (myE != null) {
            IPageRequestHandler handler = cycle.find(IPageRequestHandler.class);
            if (handler != null) {
                if (handler.isPageInstanceCreated()) {
                    WebPage page = (WebPage)(handler.getPage());

                    page.error(page.getString(myE.getCode()));

                    return new RenderPageRequestHandler(new PageProvider(page));
                }
        }

        return null;
    }
});

关于java - Wicket 口 6 中的异常处理进入反馈面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35220556/

相关文章:

java - 初始化时增量++运算符如何工作

java - 如何取消 Perforce P4V 中从本地工作区意外删除的文件的删除标记

java.lang.ClassCastException 在应用程序中启动 Activity 时

java - ListMultipleChoice 中的模型 (wicket 1.5.4)

session - Apache Wicket 口 : Injecting dependencies in Session (using Guice)

ajax - AjaxFormComponentUpdatingBehavior 和表单提交的不同验证器集

java - 使用带有 Springs 的外部属性文件作为 init.d 服务

maven - 创建 Wicket 快速入门 Maven

java - 如何在 wicket 中嵌套动态表?

java - Spring-boot部署错误: java. lang.IllegalStateException:无法获取嵌套存档