问题标签 [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.
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
java - FullAjaxExceptionhandler 只捕获 javax.el.ELException 或 java.lang.Throwable
FullAjacExceptionHandler 只能捕获 javax.el.ELException 或 java.lang.Throwable。Throwable 也优先于 javax.el.ELException。我需要显式捕获托管 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 归零。
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 会不会是这个原因呢?我怎样才能解决这个问题,我不需要在我的项目中保留两个相同源代码的副本(显然我通过接受这个来邀请愚蠢的错误和错过的功能)?
ajax - 发生 ViewExpiredException 时未显示 JSF 错误页面
当页面内的视图过期时,出现以下错误。消息说,Error page '/home.xhtml' will be shown.
但实际上什么都没有显示,页面保持不变,只是被冻结了。我正在使用Omnifaces中的FullAjaxExceptionHandler,由balusC描述。
我正在使用 Primefaces 3.5 和 Mojarra 2.1.17。
你能帮我提出一个建议,我该如何解决他的问题?
jsf - JSF2.0 如何在使用命令按钮时将 viewParam 传递给请求范围的支持 bean?
我有以下页面:
以及以下 bean:
无论我做什么,一旦单击命令按钮,我似乎都无法获得 returnTo 绑定。由于这是一个登录页面,我真的 不想让 LoginMB 成为 @ViewScoped bean。
建议?有没有更好的方法来处理这种情况?
编辑:
- 我在 MyFaces 2.1.10 提供的 TomEE+ Server v1.5.1 上运行它
- 添加了整页
- 澄清问题:在
redirect()
函数内部,returnTo 为 null
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
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
编辑:一些堆栈信息:
jsf-2 - 警告:不支持的组件系列/渲染器类型:org.omnifaces.component.script/javax.faces.Button
我定义了以下表格:
当我加载我的页面时,我会反复向 Stdout 吐出这个错误:
我在这里做错了什么?
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 正常工作?
谢谢
jsf - java.lang.NoClassDefFoundError:无法初始化类 org.omnifaces.config.WebXml
我最近在我的 pom 中添加了omnifaces 1.4.1 以使用一些转换器。
现在,对应用程序的每个请求都会引发一个异常,该异常开始于
我正在使用的 omnifaces.SelectItemsIndexConverter 工作正常,但是每个请求都会引发此异常;即使在不包含onmifaces组件的页面上。
我的环境如下:
- 雄猫 7.0.37
- 莫哈拉 2.1.10
- PrimeFaces 3.4.2
- PrimeFaces 扩展 0.6.1
除了添加到 pom 之外,是否还需要一些额外的设置?