0

我在 Myfaces CODI 中看到了对DefaultErrorView的引用,但像往常一样,文档将一切都留给了想象。我真的发现 CODI 是一个很棒的 JSF 插件,但它会从一些示例中受益匪浅。

可能我天真地希望能够使用以下代码捕获可怕的 ViewExpiredException:

@Page(basePath = "/defaultErrorPage.xhtml")
public final class DefaultErrorPage extends DefaultErrorView {

}

...但是会话超时后发生的所有事情是,当我尝试发出 get 请求(单击 ah:link)时,容器安全性会将我带到登录页面。有谁知道我可以用这个 DefaultErrorView 做什么,有人举个例子吗?

谢谢!

4

1 回答 1

0

在 DefaultErrorView 的 JavaDoc 中,您会看到:

...

扩展此类的类也将用作错误视图以防安全违规(如果没有通过 {@link org.apache.myfaces.extensions.cdi.core.api.security.Secured 配置的特殊错误视图#errorView()})

在 Wiki 中,您会看到例如:

@安全

...

如果发生违规,CODI 将使用 DefaultErrorView 作为导航目标(如果已配置)。

...

(安全)错误页面

以下示例显示了如何创建默认错误页面。只允许为每个应用程序提供一个默认错误页面。需要实现 DefaultErrorView 接口,而不是实现 ViewConfig。

...

以及手动使用:

...

this.viewNavigationHandler.navigateTo(DefaultErrorView.class);

...

Wiki 还链接了一个很好的示例,您可以在其中找到: http ://code.google.com/a/apache-extras.org/p/myfaces-codi-examples/source/browse/community/src/main/java/ org/apache/extras/myfaces/codi/examples/community/view/config/Pages.java

-> 文档中的一切都很好;-)

于 2012-05-06T00:52:46.573 回答