问题标签 [omnifaces]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
440 浏览

jsf-2 - 为什么 Omnifaces postInvokeAction 侦听器方法被调用两次

我不熟悉使用omnifaces。从我收集到的一点点来看,在处理 flashscope 中的对象时使用 postInvokeAction 比 jsf preRenderView 事件更好。但我注意到的是 listener 方法被调用了两次!我觉得 preInvokeAction 类似于前阶段侦听器,而 postInvokeAction 类似于 PhaseID.INVOKE_APPLICATION 的后阶段侦听器,因此应该只为相应的事件调用一次。这个对吗?请向我解释。

我目前在 Mojarra 2.1.17 和 Omnifaces 1.3 上运行。

感谢您期待您的回复!

布局1.html

示例页面2.html

SampleTest.java

0 投票
1 回答
1447 浏览

java - FullAjaxExceptionhandler 只捕获 javax.el.E​​LException 或 java.lang.Throwable

FullAjacExceptionHandler 只能捕获 javax.el.E​​LException 或 java.lang.Throwable。Throwable 也优先于 javax.el.E​​LException。我需要显式捕获托管 bean 抛出的特定异常。但是,ELException 显然包含了根本原因异常(即 LoginFailedException)。

我正在使用 JSF 2 (MyFaces 2.1.10)、Spring EL resolver (Spring managed beans)、el-api-2.2 和 glassfish el-impl-2.2。

这是错误:

LoginFailedException 是一个简单的自定义异常。我将不胜感激任何帮助。提前致谢。

编辑:实验完成:

我创建了 3 个错误页面,以查看在引发 LoginFailedException 时将调用/使用哪个错误页面。XHTML 错误页面包含完全相同的代码,但标头 String 标识哪个是哪个。这是 web.xml 错误条目:

将使用 catchAllThrowable.xhtml。如果我删除(在 web.xml 上注释掉) Throwable ,将使用 ELException.xhtml。如果我删除 ELException,异常将由容器(tomcat)而不是 loginError.xhtml 处理。

希望这能澄清我的情况。

更新:

我现在使用 AJAX 调用来提交表单(我想这是处理程序的用途),所有 3 个错误处理程序页面都在 web.xml 上处于活动状态(Throwable、ELException、LoginFailedException):

Throwable 已被跳过,并且 ELException 已匹配(呈现 elException.xhtml)。仍然无法将 LoginFailedException 归零。

0 投票
0 回答
507 浏览

jsf - OmniFaces ExtensionlessURLS,Mojarra 和 MyFaces 之间的不同行为

在发现 Mojarra 存在的一些潜在性能问题后,我最近将我的应用程序切换为在 Mojarra 2.1.7 的 MyFaces 2.1.10 实现上运行。

我一直在使用允许漂亮的无扩展 URL 的 OmniFaces SEO 功能。这通过使用 servlet 过滤器进行操作,并通过向 WEB-INF 添加上下文参数web.xml以及faces-views向 WEB-INF 添加目录以反映 Web 应用程序的 xhtml 文档布局来自动启用。

然而,我有点担心与 Spring 的兼容性问题,因为我正在使用 Spring Container 和他们的自定义 EL 解析器,用 Spring 依赖注入替换 JSF 依赖注入,使每个托管 bean 也是一个 Spring bean。更令人担忧的是,我正在实现 Spring Security,它也通过使用 servlet 过滤器来拦截和验证传入请求。我担心的是,如果它们碰巧以某种顺序被调用,它们可能无法正常工作。

嗯,Mojarra 的 ExtensionlessURLS 功能与文档中描述的有点不同

我注意到要让它在 Mojarra 中工作,我只需将我的 xhtml 文件保留在其原始位置,但是我需要在目录中放置一个具有相同名称和相对路径的空文件faces-views。过滤器似乎可以识别无扩展或 XHTML 请求并正确显示页面

然而,当我切换到 MyFaces 时,这种行为发生了变化,现在目录中的空文件faces-views导致在页面请求上引发 Premature EOF 异常。我注意到,为了能够同时处理 XHTML 和无扩展请求,我需要在两个地方保留同一页面的重复副本。

我试图通过将文件放入 do a 来解决这个问题,faces-views它找到了源,但是当我这样做时页面没有正确加载。

我的问题是,为什么我看到 Mojarra 和 MyFaces 与 ExtensionlessURLs 之间的行为不同?Spring Security 会不会是这个原因呢?我怎样才能解决这个问题,我不需要在我的项目中保留两个相同源代码的副本(显然我通过接受这个来邀请愚蠢的错误和错过的功能)?

0 投票
1 回答
1762 浏览

ajax - 发生 ViewExpiredException 时未显示 JSF 错误页面

当页面内的视图过期时,出现以下错误。消息说,Error page '/home.xhtml' will be shown.但实际上什么都没有显示,页面保持不变,只是被冻结了。我正在使用Omnifaces中的FullAjaxExceptionHandler,由balusC描述。

我正在使用 Primefaces 3.5 和 Mojarra 2.1.17。

你能帮我提出一个建议,我该如何解决他的问题?

0 投票
1 回答
2598 浏览

jsf - JSF2.0 如何在使用命令按钮时将 viewParam 传递给请求范围的支持 bean?

我有以下页面:

以及以下 bean:

无论我做什么,一旦单击命令按钮,我似乎都无法获得 returnTo 绑定。由于这是一个登录页面,我真的 不想让 LoginMB 成为 @ViewScoped bean。

建议?有没有更好的方法来处理这种情况?

编辑:

  • 我在 MyFaces 2.1.10 提供的 TomEE+ Server v1.5.1 上运行它
  • 添加了整页
  • 澄清问题:在redirect()函数内部,returnTo 为 null
0 投票
0 回答
1403 浏览

jsf-2 - AJAX:OmniFaces FullAjaxExceptionHandler 说它会显示错误页面,但它不会

当我收到 ViewExpiredException 时(在开发中,我通过清理 Tomcat 的工作目录来强制执行此操作)在 PrimeFaces 的 AJAX 请求之后,FullAjaxExceptionHandler 不会重定向到错误页面。请参阅下面的堆栈跟踪:

我将错误页面注册为:

我看到问题stackoverflow.com/questions/15320192/jsf-error-page-not-shown-when-viewexpiredexception-occurs并已将 OmniFaces 更新到 1.4.1 版本。

有什么我想念的吗?谢谢。

PS:Mojarra-2.1.20、OmniFaces-1.4.1、PrimeFaces-3.5

0 投票
1 回答
1509 浏览

jsf - glassfish 3.1.2.2 上的 Omnifaces EAR 部署问题

我有一个带有omnifaces 1.4.1 glassfish 3.1.2.2 primefaces 3.5 primefaces extensions 0.6.3 myfaces extcdi 1.0.5的maven企业项目(瘦)

当我部署耳朵时,错误是:

如果我将omniface jar 部署到glassfish lib 目录中,则应用程序部署正常。

如果我进行一场包括所有 ejb、jar 和战争的战争,它也可以加载。

有谁知道从哪里开始调试这个问题?

如果需要,我可以提供堆栈跟踪。

EAR结构:

最好的问候,hw

编辑:一些堆栈信息:

0 投票
1 回答
2396 浏览

jsf-2 - 警告:不支持的组件系列/渲染器类型:org.omnifaces.component.script/javax.faces.Button

我定义了以下表格:

当我加载我的页面时,我会反复向 Stdout 吐出这个错误:

我在这里做错了什么?

0 投票
1 回答
2277 浏览

jsf - FullAjaxExceptionHandler 在会话无效后不会重定向到错误页面

我遇到了 Omnifaces FullAjaxExceptionHandler ( http://showcase.omnifaces.org/exceptionhandlers/FullAjaxExceptionHandler ) 的问题。会话失效后,它不会重定向到指定的错误页面。

我的 faces-config 中有以下内容:

我的 web.xml 中有以下内容:

在我使会话无效后,从用户的角度来看,似乎什么都没有发生。该应用程序只是“死”了。在我的控制台中,我看到以下 Ajax 请求:

  • 对原始 facelet 页面的 POST 响应代码为 302
  • 使用代码 200 获取登录页面(但没有任何反应,因为它是通过 Ajax 请求的)

我在 WebLogic 12c 上运行 MyFaces 2.1.10、Primefaces 3.5、Primefaces Extension 0.6.3 和 Omnifaces 1.4.1

任何人都可以帮助我朝着正确的方向前进吗?如何让 FullAjaxExeptionHandler 正常工作?

谢谢

0 投票
1 回答
5403 浏览

jsf - java.lang.NoClassDefFoundError:无法初始化类 org.omnifaces.config.WebXml

我最近在我的 pom 中添加了omnifaces 1.4.1 以使用一些转换器。

现在,对应用程序的每个请求都会引发一个异常,该异常开始于

我正在使用的 omnifaces.SelectItemsIndexConverter 工作正常,但是每个请求都会引发此异常;即使在不包含组件的页面上。

我的环境如下:

  • 雄猫 7.0.37
  • 莫哈拉 2.1.10
  • PrimeFaces 3.4.2
  • PrimeFaces 扩展 0.6.1

除了添加到 pom 之外,是否还需要一些额外的设置?