具有渲染属性的jsf组件验证失败
Posted
技术标签:
【中文标题】具有渲染属性的jsf组件验证失败【英文标题】:jsf component with render attribute failing validation 【发布时间】:2011-04-17 05:04:39 【问题描述】:我有几个具有渲染属性的面板网格,在下拉列表的值更改事件中,我使其中一个面板网格可见,这很好用。但是在显示面板后,附加到面板网格内组件的所有转换和验证都会失败。
即使组件是单一的并且在网格之外,它也无法通过验证。
我在渲染属性上遗漏了什么吗? JSF 生命周期中是否发生了一些事情。
任何帮助都会非常有帮助...
提前致谢
我正在使用 jsf 2.0 mojarra 实现。
【问题讨论】:
我不明白您所说的“所有验证都失败”是什么意思。你当时遇到了什么错误?还是您实际上的意思是“未执行所有验证”? IE。验证被完全跳过。 没有错误“跳过所有验证”操作方法直接调用 //代码结构如下view
范围的 JSF 1.x。
【参考方案1】:
您需要确保负责rendered
属性的条件在后续请求中评估相同。 JSF 将在应用请求值和验证阶段重新检查条件。到目前为止,您的 bean 似乎是 request
范围的,并且该条件在后续请求中丢失了。最简单的解决方法是通过将 bean 注释为 @ViewScoped
将 bean 放置在 view
范围内。这样,只要您与同一个视图交互,bean 就会一直存在。
另见:
Benefits and pitfalls of@ViewScoped
【讨论】:
感谢 balusc,确实在请求范围内。只是添加到它你的博客是许多 jsf 开发人员的救星;) 干杯,不客气。如果它有助于解决问题,请不要忘记将答案标记为已接受。另请参阅***.com/faq :) 使用 jsf 2 + spring 3,此链接有助于查看范围 cagataycivici.wordpress.com/2010/02/17/…以上是关于具有渲染属性的jsf组件验证失败的主要内容,如果未能解决你的问题,请参考以下文章
错误:架构验证失败并出现以下错误:数据路径“”不应具有其他属性(项目)
Angular Schema 验证失败并出现以下错误:数据路径“”不应具有其他属性(rebaseRootRelativeCssUrls