问题标签 [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 - Primefaces SelectOneMenu 与列表中的对象翻转选择
的 setter 方法selectedRestaurant
被调用,但菜单只是向后翻转并且不呈现<h:outputText>
. Menu 有内容,所以使用的 List<f:selectItems>
不为空。当我使用时,omnifaces.SelectItemsConverter
我想这不是由于转换问题。
这是我的 JSF 代码:
这是支持 bean:
jsf - JSF - 提交时触发方法
我在我的新 JSF 2.1 应用程序中使用复合、标记或自定义组件。
我仍然经常忽略继续使用这项技术的正确(或至少推荐)方法。
我希望我的组件在用户单击“保存”按钮时执行一些操作。实际上,保存按钮是 Primefaces 命令按钮。
所以,我正在使用按钮代码,例如:
对于“保存”按钮和我的组件,我使用 preRenderComponent 来触发 handleSubmit 支持 bean 方法:
handleSumit 看起来像:
这行得通。
阅读stackoverflow并尝试遵循@BalusC的建议,我正在使用omnifaces(1.2)并尝试使用postInvokeAction事件,原因在OmniFacesInvokeActionEventListener
展示中进行了解释。
所以,我将我的事件标签更改为:
...并且 myBeautifulBean.handleSubmit 永远不会被调用。
当然,我将omnifaces 作为依赖项,而其他组件(验证器等)则可以正常工作。InvokeActionListener 已正确初始化(或者在我看来是这样)。
postInvokeAction 是否应该在特定时间注册?我注意到在omnifaces 示例中,{pre|post}InvokeAction 事件总是在 f:metadata 标记中声明为子项。
我发现了很多在 f:metadata 之外声明 preRenderView 事件的示例,例如:http ://www.mkyong.com/jsf2/jsf-2-prerenderviewevent-example/
顺便说一句,如果我这样做是完全错误的,我会很高兴学习你的智慧。但我想避免:
- 由 ap:commandButton 动作处理程序触发支持 bean 方法的链调用;
- 将每个此类动作处理程序声明为 commandButton 的 af:actionListener 子项。
我正在寻找一种更面向事件的方式。
ajax - 错误页面上的错误报告表
我在 JBoss 7.1 和 Richfaces 4.1 中有一个 JSF Web 应用程序。我尝试在 web.xml 中配置自定义错误页面,但遇到了问题,这不适用于 AJAX 请求。作为一种解决方案,我尝试使用Omnifaces FullAjaxExceptionHandler来很好地显示错误页面。
但是,我想添加一个表单,允许用户输入其他信息并将其与例外一起作为电子邮件发送给我。问题是在错误页面上,提交按钮不起作用。当我单击它时,错误页面刚刚重新加载。在下一次单击时,一切都按预期工作。
错误页面模板中的小菜单中的 h:commandlinks 也会出现同样的问题。
我对 JSF 很陌生,所以我真的不知道为什么会发生这种情况以及如何解决它。还是有更好的方法来实现这一点?
jsf-2 - Omnifaces ValidateEqual 不执行验证
我正在尝试 Omnifaces 验证器,尤其是 validateEqual,所以我创建了一个这样的测试页面。
不确定,但什么都没有发生,我从下面的错误中看到了萤火虫。
可能是什么原因?
java - 在 Omnifaces 中找不到类异常
当我尝试使用 omnifaces 时出现此错误
引起:java.lang.ClassNotFoundException:org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516) 的 org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader. java:1361) 在 java.lang.Class.forName0(Native Method) 在 java.lang.Class.forName(Class.java:247) 在 javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:591)
请任何人都可以帮助我并告诉我是什么问题?!
jsf - Omnifaces:使用 CombinedResourceHandler 和 Richfaces
在 Richfaces 应用程序中使用时CombinedResourceHandler
,仅将样式表和用户定义脚本组合在一起。标准 JavaScript 资源和所有 Richfaces 特定资源保持为单独的资源。
Omnifaces 文档指出:
RichFaces 对几个 JS 文件有同样的问题,但到目前为止,这对于解决方法来说并不是微不足道的
所以我的问题是这个“重要的解决方法”会是什么?
据我所知,退货CombinedResourceHandler
时不会处理资源。然后由.getRendererType()
org.richfaces.renderkit.ResourceLibraryRenderer
org.richfaces.renderkit.html.ResourceLibraryRenderer
我不确定在这里将 RichFaces 行为与 OmniFaces 结合起来的最佳方法是什么。
jsf - Omnifaces 1.3 + Primefaces 3.4 + 会话超时
我遇到了以下问题。我有一个使用 JSF (PrimeFaces 3.4) 和 Glassfish 的 Web 应用程序。当会话超时发生时,我正在尝试将用户重定向到登录页面。现在我已经阅读了很多关于此的内容,并尝试了很多解决方案。首先,我尝试编写一个没有结果的 ExceptionHandler。经过数小时的研究,我决定尝试 Omnifaces (1.3-SNAPSHOT) FullAjaxExceptionHandler。还是没有结果。
在调试时,我注意到处理程序工厂被正确调用,但 UnhandledExceptionQueue 对我来说总是空的。似乎没有抛出 ViewExpiredException (或任何其他类型的异常)。
症状总是一样的:发生会话超时后,服务器绝对没有响应。只有当我重新加载整个页面时,才会出现登录页面,表明会话不再有效。
请给我一些建议,非常感谢!
ajax - 带有自定义验证器和 Omnifaces 的 PrimeFaces 可编辑数据表
我最近将 OmniFaces 库引入我的项目以利用其 Ajax 实用程序,但自从这样做后,我的 PrimeFaces 可编辑数据表现在忽略了验证错误。
我目前有带有自定义验证器和过滤器的 ap:datatable,如下所示:
添加 OmniFaces 之前的行为是,如果我的自定义日期验证器(如下提供)抛出ValidatorException
,则正在编辑的表中的行将保持打开状态,并且页面将显示FacesMessage
来自异常的。添加 OmniFaces 库后,FacesMessage
仍然显示,但表中的行关闭,好像没有抛出异常一样。我曾尝试使用 OmniFaces 1.2 和 1.3 SNAPSHOT,两者的行为相同。
无论如何要恢复原始功能,还是我必须从我的项目中删除 OmniFaces?
感谢您的帮助
添加信息:Tomcat 7.0;我的脸 2.1;PrimeFaces 3.4.1;OmniFaces 1.3 快照 20121027
我的自定义日期验证器:
jsf - Omnifaces树下Primefaces组件时初始状态无效
我使用omnifaces树来编辑一些递归数据结构。但是当我打开页面时,primefaces组件的状态无效(有红色边框)。
版本:
- omnifaces-1.3-SNAPSHOT-20121121.jar
- primefaces-3.4.1
- tomee 1.5.1 和 myfaces 2.1.9
- 爪哇 7
我还用 Mojarra 2.1.9 进行了测试,结果相同。 这是 eclipse 项目的存档。
jsf - primefaces p:outputLabel 没有为 UIInput 设置标签,当它是 Omnifaces 树的子级时使用它的值
p:outputLabel 会为相关的 UIInput 设置标签,但是当它是 Omnifaces 的子级时 o:tree 是行不通的。验证错误消息仍然使用 clientId。
Omnifaces outputLabel 可以为相关的 UIComponent 设置标签,并且可以与 o:tree 一起使用。
Primefaces 在 endEncode 方法中设置标签,使用 o:tree 时,在 endEncode 之前调用 validateValue 方法。
有人有解决方法吗?
更新:
版本:
- 爪哇 7
- TomEE 1.5.1 (myfaces 2.1.9)
- Primefaces-3.4.1
- omnifaces-1.3-SNAPSHOT-20121121
只能用myfaces重现,用Mojarra最后一个节点的lable值将用于其他节点的无效消息。