如何使错误页面(http 500)在 IceFaces 中工作?

2024-02-23

使用 Icefaces 2,如果在标准(=非icefaces)h:commandButton 上执行操作方法期间发生错误,则该按钮似乎没有任何操作。尽管在 web.xml 中将其配置为显示错误页面,但不会显示错误页面。

我可以通过将标签包围来使其工作

<f:ajax disabled="true">...</f:ajax>

但我想从 Icefaces 禁用这个自动 ajax (参见问题使用 Icefaces 时如何禁用标准组件 (h:commandButton) 上未经请求的 ajax? https://stackoverflow.com/questions/5407711),或者让错误页面正常工作。

JSF 实现是 Mojarra 2.1,它随 Glassfish 3.1 一起提供。


基本问题是 Icefaces 捕获提交按钮并将 ajax 放入其中。我认为这只是不好的行为:我知道类似的事情可能发生在ice:commandButton中甚至在ice:form下,但它也发生在h:commandButton到h:form上。可以禁用此功能,按照http://wiki.icefaces.org/display/ICE/Configuration http://wiki.icefaces.org/display/ICE/Configuration,通过在 web.xml 中将 autorender 上下文参数设置为 false 。但是,您需要在每个icefaces表单上明确启用此行为(否则您会收到错误)。

无论如何,正如这里所述:http://wiki.icefaces.org/display/ICE/Handling+Exceptions http://wiki.icefaces.org/display/ICE/Handling+Exceptions,在页面中放入这个脚本就基本解决了问题:

                //Assign your error handling function to a variable
                var iceErrorCallback = function iceHandleError(statusCode, responseTxt, responseDOM) {
                    //Handle all errors by simply redirecting to an error page
                    window.location.href = "./generalError.xhtml";
                }

                //Safely check if ICEfaces is available
                if (ice) {
                    //Turn off the popups as we plan to handle this ourselves
                    ice.configuration.disableDefaultIndicators = true;

                    //Register your error handler as a callback
                    ice.onServerError(iceErrorCallback);
                }

更新:我必须修补一些 Icefaces javascript 才能使其正常工作,请参阅http://jira.icefaces.org/browse/ICE-6546 http://jira.icefaces.org/browse/ICE-6546。我知道 Icefaces 的正常行为是显示一个带有错误的弹出窗口,但这并没有发生。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使错误页面(http 500)在 IceFaces 中工作? 的相关文章

  • Rails 4 使用 ajax、jquery、:remote => true 和 respond_to 渲染部分

    使用 AJAX 动态渲染页面以响应提交的表单似乎很常见 其他类似的问题都没有集中于如何以一般方式做到这一点 我能找到的关于这个主题的最好的博客文章在这里 http www gotealeaf com blog the detailed gu
  • 如何在 Antlr4 中为零参数函数编写语法

    我的函数具有参数语法 如下面的词法分析器和解析器 MyFunctionsLexer g4 lexer grammar MyFunctionsLexer FUNCTION FUNCTION NAME A Za z0 9 DOT COMMA L
  • Java:在 eclipse 中导出到 .jar 文件

    我正在尝试将 Eclipse 中的程序导出到 jar 文件 在我的项目中 我添加了一些图片和 PDF s 当我导出到 jar 文件时 似乎只有main已编译并导出 我的意愿是如果可能的话将所有内容导出到 jar 文件 因为这样我想将其转换为
  • 是否可以使用 Flying Saucer (XHTML-Renderer) 将 css 解析为类路径资源?

    我正在尝试将资源打包到 jar 中 但我无法让 Flying Saucer 在类路径上找到 css 我无法轻松构建 URL 来无缝解决此问题 https stackoverflow com questions 861500 url to l
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 需要使用 joda 进行灵活的日期时间转换

    我想使用 joda 解析电子邮件中的日期时间字符串 不幸的是我得到了各种不同的格式 例如 Wed 19 Jan 2011 12 52 31 0600 Wed 19 Jan 2011 10 15 34 0800 PST Wed 19 Jan
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 在另一个模块中使用自定义 gradle 插件模块

    我正在开发一个自定义插件 我希望能够在稍后阶段将其部署到存储库 因此我为其创建了一个独立的模块 在对其进行任何正式的 TDD 之前 我想手动进行某些探索性测试 因此 我创建了一个使用给定插件的演示模块 到目前为止 我发现执行此操作的唯一方法
  • Java:如何为山区时间创建 TimeZone 对象?

    必须不禁用夏令时 嗯 在这个清单 http en wikipedia org wiki List of tz database time zones在 zoneinfo 时区名称中 有很多声称是 山地时间 找到最适合您想要的那个 然后使用它
  • 了解joda时间PeriodFormatter

    我以为我明白了 但显然我不明白 你能帮我通过这些单元测试吗 Test public void second assertEquals 00 00 01 OurDateTimeFormatter format 1000 Test public
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • GWT 2.3 开发模式 - 托管模式 JSP 编译似乎不使用 java 1.5 兼容性

    无法编译 JSP 类 生成的 servlet 错误 DefaultMessage 上次更新 0 日期 中 0 时间 HH mm ss z 语法 错误 注释仅在源级别为 1 5 时可用 在尝试以开发模式在 Web 浏览器中打开我的 gwt 模
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数
  • 在java中使用多个bufferedImage

    我正在 java 小程序中制作游戏 并且正在尝试优化我的代码以减少闪烁 我已经实现了双缓冲 因此我尝试使用另一个 BufferedImage 来存储不改变的游戏背景元素的图片 这是我的代码的相关部分 public class QuizApp

随机推荐

  • 如何在Mysql中创建一个id(自动递增)并与其连接一个字符串?仅使用 PHP

    需要创建一个具有自动递增主键的 id 必须使用 php 将字符串与该 id 一起存储 如下所示 我的sql必须显示 ID WFS001 WFS002 WFS003 WFS005 一个选项是有一个自动增量列 执行插入 获取最后一个 idLAS
  • 如何从主线程唤醒休眠线程?

    我有一个捕获程序 除了捕获数据并将其写入文件外 还打印一些统计信息 打印统计信息的函数 static void report void Print statistics 大约每秒调用一次 使用每秒到期的警报 所以该程序就像 void cap
  • 触发锚链接的点击

    我有一个链接集合 其中包含与它们匹配的缩略图 我需要将这些缩略图加载为 div 并为其设置背景图像 我使用的是包含所有缩略图的单个图像 因此我不能仅将图像加载为图像 单击图像应该与单击链接执行相同的操作 但我制作了一个 JSFiddle 来
  • CLR 如何知道装箱对象的类型?

    当值类型被装箱时 它被放置在untyped参考对象 那么是什么原因导致这里出现无效的强制转换异常呢 long l 1 object obj object l double d double obj 不 它没有放置在无类型对象中 对于每种值类
  • jmeter无法记录浏览器操作

    我正在使用 apache jmeter 2 6 我想使用 HTTP 代理服务器记录浏览器操作 但动作并没有记录 我已经在线程组下定义了 HTTP 请求默认值 我为服务器名称指定了值 如下所示 http www xxxxx com 81 ht
  • 在 Codeigniter 中手动调用/调用挂钩

    我搜索了手动调用 调用钩子以及网上类似的东西 但找不到任何东西 codeigniter中有这样的东西吗 我下面有一个钩子 它会按预期触发 但以防万一没有触发 那么我想在代码中手动调用它 Thanks hook post controller
  • 使用 DotNetOpenAuth 创建 OAuth 2.0 服务提供者

    我正在构建一个 Web 应用程序 它将有一个 api 和一个使用 DotNetOpenAuth 的授权服务 我发现这个例子 http scatteredcode wordpress com 2011 12 01 dotnetopenauth
  • 类型错误:“NoneType”对象无法使用函数结果进行迭代

    我在 companyName monthAverage costPerTon totalCost displayCost companyName monthAverage costPerTon totalCost 行上收到 TypeErro
  • maxlength 属性的角度验证消息

    我在 Angular 中显示 maxlength 属性的错误消息时遇到一些问题 Problem 由于 maxlength 属性不允许的字符数超过指定数量 因此我无法显示错误消息 有什么方法可以关闭默认行为 允许用户输入更多字符 以显示我的错
  • Linux/X11下如何隐藏鼠标指针?

    如何在X11下隐藏鼠标指针 我想使用内置库来执行此操作 而不是使用 SDL SDL ShowCursor 0 或 glut glutSetCursor GLUT CURSOR NONE 之类的库 此外 无论指针位置如何 鼠标指针都应该隐藏
  • 在 Windows 中启动 Confluence Schema Registry

    我有Windows环境和我自己的一套kafka和zookeeper正在运行 为了使用自定义对象 我开始使用 Avro 但我需要启动注册表 下载 Confluence 平台并运行 bin schema registry start etc s
  • 哪种编程语言最能弥合伪代码和代码之间的差距? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当我从现在开始编写代码时 我计划首先用漂亮 可读的伪代码来布局所有内容 然后围绕该结构实现程序 如果我将我目前掌握的语言从最容易翻译到最难翻译进
  • Git 告诉我拉,然后提交,然后拉?

    我正在尝试推送新的更改 但我有一个冲突的文件 尝试推送后 出现以下错误 Merge the remote changes e g git pull before pushing again See the Note about fast f
  • 脚本可以编辑受保护的范围或工作表吗?

    我正在使用一个脚本来复制和粘贴一些数据 这些数据由几个用户填充 而没有权限仅编辑一行 其他范围受到这些用户的保护 无法编辑 该脚本将数据从一张纸复制到另一张纸 并且两张纸都受到完全保护 除了可以编辑任何内容的两个编辑者之外 当没有人处理此电
  • 将嵌入式 Glassfish 与 Maven 结合使用

    有人知道嵌入式 Glassfish 吗 我想运行一些 EJB 测试 但我不想每次运行测试时都启动和停止嵌入的 glassfish 根据插件文档 我应该将其放入 POM 中
  • 在移动设备上部署 C++ QML 插件的正确方法是什么?

    我经常使用 Box2D QML 插件 看起来效果非常好 但是 我想在 Android SGS2 上部署我的示例应用程序 但我似乎无法让它工作 无论我尝试在 AVD 上还是在设备上运行它 它都不起作用 androiddeployqt 成功完成
  • 嵌套 div 上的 jQuery click()

    代码可能比我能更好地解释这一点 div class wrapper div class inner1 div div class inner2 div div 当我点击inner1div 它运行do something 与两个inner1d
  • 为什么我的 PDF 生成为空白?

    我正在使用 ItextSharp 和 c asp net MVC 生成 PDF 报告 但是 当我生成报告时 PDF 返回为空白 除了工作正常的标题之外 我会喜欢你的意见 生成报告的代码如下 using var writer PdfWrite
  • 在 Mac OS X 上以编程方式修改家长控制

    Mac OS 具有一组非常基本的家长控制选项 允许您限制用户对网站和应用程序的访问 以及设置的每日时间限制 我希望能够编写脚本来执行如下操作 允许上午 8 点至上午 9 30 访问特定网站 限制对游戏的访问 允许下午 5 点至下午 6 00
  • 如何使错误页面(http 500)在 IceFaces 中工作?

    使用 Icefaces 2 如果在标准 非icefaces h commandButton 上执行操作方法期间发生错误 则该按钮似乎没有任何操作 尽管在 web xml 中将其配置为显示错误页面 但不会显示错误页面 我可以通过将标签包围来使