问题标签 [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 - JSF 可选旧值在清除它们后返回
我正在使用 JSF、PrimeFaces 3.2、Omnifaces 1.1、JBoss AS 7.1.1、Final、Mojarra 2.1.7
我有一个表单,其中包含两个不需要的数字字段,如下所示:
我还在 faces-config 上设置了 OmniFaces ResetInputAjaxActionListener。
bean 属性 field1 和 field2 是整数。
现在的问题是,如果我在 num1 上输入 123,在 num2 上输入 345,然后单击 OK 就可以了。如果我然后从 num1 中删除 123 并将 abc 放在 num2 上。然后显示验证(转换)错误,但 123 又回来了!
如果我让它们都 required=true 那么一切都很好。
有没有办法让这个与可选字段一起工作?
jsf - 使用 FullAjaxExceptionHandler 时出现 StringIndexOutOfBoundsException
我正在尝试使用omnifaces 的FullAjaxExceptionHandler,但我正在StringIndexOutOfBoundsException
使用org.omnifaces.util.Faces.normalizeViewId(Faces.java:312) [omnifaces-1.1.jar:1.1]
.
我的 web.xml 文件具有以下错误设置:
我的 servlet在哪里ErroServlet
重定向到正确的错误页面,具体取决于请求 url(我有 2 个不同的错误页面)。
我正在尝试使用FullAjaxExceptionHandler
,因此也会处理在 ajax 请求期间引发的异常。
我的 ErroServlet 使用以下命令检查它是否是 Ajax 请求:
如果为真,则使用以下命令重定向:
正如我所说,我StringIndexOutOfBoundsException
在 servlet 完成后得到了一个。而且,页面不会在视觉上重定向。
全栈跟踪:
jsf - 使用 OmniFaces 时出现 NullPointerException:printStackTrace
我正在使用 OmniFaces 显示一个漂亮而详细的错误页面,就像展示中的这个页面一样。
这是我的错误页面:
页面渲染得很好,但是当我单击p:commandButton
页面末尾的 时,我在of:printStackTrace
. 我不明白为什么会发生这种情况,因为该函数已经被调用并打印了它的结果。当我单击另一个表单内的按钮时,我不明白为什么 JSF 会再次尝试调用该函数,甚至更奇怪。
单击命令按钮时的完整堆栈跟踪:
ajax - 如何通过 p:ajax 使用 OmniFaces Ajax.updateColumn() 或 Ajax.updateRow()
我正在尝试使用 OmniFaces 1.3 (SNAPSHOT) Ajax 实用程序的 Ajax.updateColumn() 方法。更具体地说,我想用 Ajax.updateColumn(table, 1) 替换使用 p:ajax update=":pageContentPanel",它是一个包含以下 xhtml 的 h:panelGroup(或 p:outputPanel)。
在 bean 中,我有以下内容,由 p:ajax listener="..." 引用:
在尝试使用 Ajax.updateColumn() 时,我将“HtmlDataTable tripDatesDataTable”作为属性添加到 bean。
该 bean 是 JSF @SessionScoped 托管 bean。请让我知道在执行 p:ajax(属于上述 xhtml 中的 p:calendar)时如何调用 Ajax.updateColumn()。谢谢。
ajax - OmniFaces Ajax 实用程序的 updateColumn() 不更新 p:dataTable
最近,我关于 OmniFaces Ajax.updateColumn() 的问题得到了以下回答:
如何通过 p:ajax 使用 OmniFaces Ajax.updateColumn() 或 Ajax.updateRow()
在这种情况下,dataTable 是 JSF 标准的 h:dataTable,效果很好。
现在,在这种情况下,当最终用户通过 p:dataTable 之外存在的 p:calendar 组件选择日期时,我正在尝试更新 PrimeFaces p:dataTable。p:dataTable xhtml 如下:
最初和当前正在生产中,p:calendar p:ajax update="..." 更新了“整个”航班 p:dataTable,因此 p:dataTable 中的日期列已成功更新。我知道,我知道,如果它没有坏,那就不要修复它,但是今天我正在修改这段代码和 xhtml,所以我想使用 OmniFaces Ajax 实用程序的 updateColumn() 来只更新“一个”列此 PrimeFaces p:dataTable 的行。
下面是最终用户通过 p:calendar 选择日期时执行的代码片段;这是调用 OmniFaces Ajax 实用程序的 updateColumn() 的代码。
以下是 POJO 定义:
测试时,服务器日志中显示以下内容:
因此,这意味着我获得了 PrimeFaces p:dataTable 的良好参考,因此我将 UIData 类型的组件传递给 Ajax.updateColumn()。
最终结果,PrimeFaces 数据表没有被 OmniFaces Ajax 实用程序的 updateColumn() 更新。
我刚刚注释掉 Ajax.updateColumn(...) 并将 update="..." 重新添加到 p:calendar p:ajax,并且 PrimeFaces 数据表已成功更新。
请告知我可能需要做什么来确保通过 Ajax.updateColumn(...) 更新 PrimeFaces 数据表。谢谢。
jsf-2 - Primefaces ManyCheckbox inside ui:repeat calls setter method only for last loop
I have a <p:selectManyCheckbox>
inside <ui:repeat>
, getting it's items from a List of a certain Object Class (provided by <ui:repeat>
-variable) and is supposed to save the chosen items into another List of the same Object Class. But it calls the setter method #{cartBean.setSelectedExtras}
only for the last entry (last iteration of <ui:repeat>
).
Update:
I changed the above construct just the way BalusC proposed.
Declaration in backing bean is now:
When I check checkboxes that were created by the first loops of <ui:repeat>
and click the <p:commandButton>
inside the same <h:form>
the setter method of selectedExtras
is not called. When I check the checkboxes created in the last loop of <ui:repeat>
and click the <p:commandButton>
I get an Exception:
jsf - OmniFaces 缓存组件是否适合资源缓存?
下面的问题,
每次页面刷新和 ajax 页面更新都会加载 Primefaces、JQuery 脚本和 CSS 文件。如何从缓存中获取文件,而不是为每个请求下载。
被问到:
每次页面刷新时加载 Primefaces 脚本和 css 文件
我推荐了 OmniFaces o:cache 组件。在这种情况下可以使用 o:cache 吗,还是最好使用 servlet 过滤器?
jsf - 如何使用 OmniFaces Components util 获取 XHTML 页面上组件的 HTML/CSS 属性值?
我有以下呈现的 HTML:
由于我为这个 PrimeFaces 扩展 layoutPane (pe:layoutPane) 分配了一个 ID,我想通过 OmniFaces Components.findComponent 和 JSF UIComponent 检查来自 bean 的显示 CSS。
基于 BalusC 对以下内容的回答:
我的 bean 中有以下内容:
服务器日志始终包含以下内容:
请指教。谢谢。
jsf - OmniFaces JAR 不允许我的应用程序在 Tomcat 7.0.32 中启动或运行
我正在尝试从 Glassfish 3.1.2.2 迁移到 Tomcat 7.0.32,因为每个人都说 Atmosphere (PrimeFaces Push) 可以与 Tomcat 完美配合,而不能与 Glassfish 配合使用。
我已经将 Mojarra 2.1.4 JAR 添加到 Tomcat /lib 以传递下面讨论的错误:
java.lang.ClassNotFoundException : com.sun.faces.config.ConfigureListener
现在,似乎我需要从我的类路径中删除 OmniFaces (1.3 SNAPSHOT) JAR,因为它会导致错误。最好从下往上阅读,因为 FullAjaxExceptionHandler 首先显示为错误,所以我在我的应用程序中对此进行了评论,然后 OmniPartialView 出现了,但老实说,我不想删除 OmniFaces。
OmniFaces 导致以下讨论的错误:
找不到工厂:javax.faces.application.ApplicationFactory
以下是服务器日志。请自下而上阅读。
请指教。谢谢。