java - 如何使用 JSF 和 Quarkus 显示自定义错误页面?
问题描述
我正在尝试在 JSF(myfaces 版本:2.3-next-M3)中显示不同状态代码(401、404、500,...)的自定义错误页面。我正在使用带有 JDK 8 的 Quarkus 应用程序服务器(1.5.2.Final)。
目前,如果发生异常,将显示默认的 Quarkus 内部服务器错误 HTML 页面。如果找不到资源,应用程序服务器将显示输入的不存在资源的路径。但我想显示我自己的自定义错误页面。
我已经尝试过:
网页.xml:
<error-page>
<error-code>404</error-code>
<location>/error/404.xhtml</location>
</error-page>
和
提供者 Bean:
@Provider
public class NotFoundExceptionMapper implements ExceptionMapper<NotFoundException> {
@Override
public Response toResponse(NotFoundException exception) {
String text = new Scanner(this.getClass().getResourceAsStream("/META-INF/resources/error/404.xhtml"), "UTF-8").useDelimiter("\\A").next();
return Response.status(404).entity(text).build();
}
}
但没有任何效果。我错过了什么吗?我可以做些什么来显示我的自定义错误页面?
解决方案
推荐阅读
- r - 将 R 中数据框中的列压缩为 2 列(索引和值)
- c - VS Code 的 C for Mac 上没有函数说明
- javascript - 我正在尝试让 css 和 html 工作
- node.js - 安全问题:NodeJS 生成是否记录在任何地方?
- sockets - 将大消息写入套接字缓冲区与大量小消息
- google-apps-script - Google App Script 安全和碰撞预防最佳做法
- ruby-on-rails - 验证表单中至少存在一个字段
- cython - 使用扩展类型 (cdef) 和设置纯 python 代码有什么区别?
- ios - ios - 如何知道第二个控制器是否被解雇?
- apache - 为 Tomcat 代理应用程序获取 404