问题标签 [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 - 如何使用自定义异常处理程序处理 javax.el.PropertyNotFoundException
我尝试了omniFaces 的AjaxExceptionHandler(这很有帮助)并将其配置为捕获java.lang.Throwable
来自各种请求(不仅是ajax 请求)的异常。
javax.el.PropertyNotFoundException
它工作得很好,但是当开发人员拼错 EL 表达式时它不会被捕获。
那么问题来了: JSF2javax.el.PropertyNotFoundException
的机制如何处理?ExceptionHandlerFactory
java - f:viewParam 在调用第二个 ajax 请求时出现 Converter 和 ViewScoped 异常
我有这个f:viewParam
,我尝试绑定 validate 并将 a 转换userId
为Player
,我得到了意想不到的结果。
我的转换器看起来像这样
当我单击三个链接(Harry、Tom、Peter)时,转换器工作得很好。它转换 id 并将player
回绑定到我的托管 bean。然后我在文本框中输入一些东西,然后单击Switch
,第一次它工作正常,我输入的内容出现在按钮旁边,但后来我更改了我输入的内容,Switch
再次单击,然后出现错误消息Bad Request. Please use a link from within the system
,这是错误消息为. required
_ f:viewParam
如果我把 f:viewParam 拿出来,那么一切正常。令人惊讶的是,如果我从 f:viewParam 切换到 o:viewParam (OmniFaces),那么效果很好。
java - 验证错误后,后续 ajax 请求从 UI 组件而不是 Beans 获取值
在我的基于 JSF 2 的应用程序中,我有一个包含(在其他 UI 组件中)一些复选框的表单。
在复选框上,我注册了 ajax 请求,它们在被选中时触发。ajax 请求实际上只会更新支持 bean 中另一个复选框的值。结果,另一个复选框也将被选中(当它重新渲染时 - 因为它将在渲染响应阶段从支持 bean 获取更新的值)。
在整个表单被提交并发生验证错误之前,这可以正常工作。然后,ajax 请求仍然有效并更改支持 bean 上的值,但在重新呈现更新后的复选框的阶段,它的值不是从支持 bean 中获取,而是来自从ComponentStateHelper
类中获取的缓存值。
据我了解,这用于 JSF 2 的新功能,仅存储对组件树的部分更改。
我不明白的是:这与验证阶段有什么关系?StateHelper
当验证发现错误时,为什么我的复选框的类中有缓存值?
jsf - Omnifaces CombinedResourceHandler -- 有没有办法抑制某些资源?
我将 Omnifaces 1.0 与 Richfaces 4.0 结合使用。通常,我会抑制 Richfaces 包含的一些 css/js,因为它是不必要且笨拙的。我通过为渲染器类型 javax.faces.resource.Script 或 javax.faces.resource.Stylesheet 定义自定义渲染器来做到这一点。
当我启用 org.omnifaces.resourcehandler.CombinedResourceHandler 时,一些以前被抑制的 CSS 似乎正在合并。有没有办法定义我想从 ResourceHandler 中排除的资产?
jsf - 在其他字段之前将请求值应用于从 inputHidden 加载 id 的实体 bean
我有一个 facelet 模板:
和一个请求范围的bean:
初始页面加载效果很好,实体加载并显示在表单中,inputHidden 设置为实体 id。问题是提交抛出:
可能是因为 getUser 在 setId 之前被调用。我该如何解决这个问题?我真的很想拥有一个请求范围的 bean,我知道这可以通过至少 viewaccess 范围的 bean 轻松解决。
编辑:现在我注意到在流程验证阶段引发了异常,我最初认为在更新模型值阶段引发了异常。我将“private User”改为“private User user = new User()”,现在可以了,但感觉有点奇怪。
问候, 帕维尔
jsf-2 - Omnifaces - FullAjaxExceptionHandler - f:ajax onevent 状态为成功
我正在使用 Omnifaces FullAjaxExceptionHandler - 它工作得很好,但是当我进行 ajax 调用并有一个 onevent 函数检查状态 == 'success' 时,它仍然被调用,即使 FullAjaxExceptionHandler 呈现了一个错误页面。(我在 glassfish 3.1.1 上使用 JSF(Mojarra 2.1.3)
JSF 代码:
<h:commandButton value="myButton">
<f:ajax listener="#{myBean.myBeanFunction()}"
render="someDiv"
onevent="myFunction"/>
</h:commandButton>
Javascript代码:
function myFunction(e)
{
if (e.status == 'success') {
alert("Success");
}
}
因此,如果 FullAjaxExceptionHandler 将我带到错误页面,我需要一些不执行 javascript 函数的方法。
jsf - JSF 2.0 -- 跨集群共享或 Prime OmniFaces 组合资源缓存
JSF 中有没有一种方法可以跨集群使用组合资源?基本上我正在寻找一个解决方案,其中集群中引入资源的第一台服务器可以将其同步到其他服务器的资源缓存。
jsf-2 - 在 JSF 中将 InputStream 显示为动态图像
我们如何InputStream
使用 OmniFaces 在 JSF 2.0 中嵌入和显示动态图像?
jsf - Omnifaces 有分页相关的组件吗?
我在omnifaces 的展示中搜索了任何有助于JSF(数据表)真实分页的组件,但没有成功。
大家知道有没有吗?
这将是一个很棒的功能。
我在这里采取了一些方法https://rogerkeays.com/blog/paging-large-data-sets-with-a-lazylist并附带以下代码。
它非常通用,可以与任何 JSF 组件库或持久性 API 一起使用。
开发人员必须在他的 JSF 托管 bean(支持 bean)中实现惰性列表,它可以访问业务外观或实体管理器来执行查询。
也许这样的方法可以适用于全方位。
jsf - PrimeFaces + PrimeFaces Mobile + MyFaces ExtVal 的渲染问题
我正在尝试将这三个框架一起使用:PrimeFaces、PrimeFaces Mobile 和 MyFaces ExtVal。库版本为:PF 3.3.1、PF Mobile 0.9.3、MyFaces ExtVal 2.0.5。考虑以下代码:
如果项目只有 PrimeFaces 和 Mobile jar,则呈现的 commandButton 符合预期:
这是默认的 PrimeFaces 渲染器。如果我将 f:view 配置为 renderKitId 作为 PRIMEFACES_MOBILE,则呈现的按钮是:
正如预期的那样,它也可以。现在,添加 MyFaces ExtVal 罐子,一切都会中断,只有 PRIMEFACES_MOBILE 是组件的渲染器。为了测试行为,我添加了 jar:myfaces-extval-bean-validation-2.0.5.jar、myfaces-extval-core-2.0.5.jar 和 myfaces-extval-property-validation-2.0.5.jar。然后我删除了 renderKitId,所以应该使用默认的 PrimeFaces 库,但结果还是:
我尝试将 f:view 中的 renderKitId 强制为 HTML_BASIC,但它一直在渲染 PrimeFaces Mobile 版本的 commandButton。
所以小伙伴们有什么建议吗?在定义 RenderKitId 之前,我的系统是好的,当我升级库时,我得到了这个错误。我在PrimeFaces 论坛上发帖,但我找不到解决方法,也看不出为什么会这样。