真正的问题:有没有一种方法来清除上的初始页面加载所有组件的某些属性。

<强>背景信息:

在我的申请中,我有讲到服务层(服务层是由那些得到注射到受管理的Bean Spring豆)。一个JSF 2.0前端层

在服务层执行其自己的验证,我用我自己的校验器类,以尽量避免重复代码莫名其妙做同样验证在前端层。这些验证类不是JSF验证,他们只是的POJO。

我只是做验证上的动作,所以在操作方法,我执行验证,且仅当它是有效的我通过对服务层调用。

当我做我的验证,我设置的styleClass和使用反射上的UIComponents标题(所以如果UIComponent具有setStyleClass(:String)或的setTitle(:字符串)的方法,然后我使用它们)

这个工作得很好,并且在验证错误我看到一个很好的样式文本框与含有错误消息,如果我在它悬停弹出。然而,由于组件绑定到作用域Managed Bean的会话,似乎这些属性的坚持。所以,如果我导航离开和回来到同一页中,和的styleClass标题仍处于错误状态。

有一种方法来清除的styleClass并且在每个初始页面加载标题属性?

谢谢,

詹姆斯

P.S。我使用的操作方法来验证,因为有些问题我用JSF 1.2之前已经和它的验证方法,但不记得为什么...所以这就是为什么我使用的操作方法进行验证。

有帮助吗?

解决方案

好了,我必须使用的PhaseListener,请参阅此博客条目由BalusC 这个其他博客条目,这就是做我在做什么已经是一种更好的方式 - 设置的styleClass使用反射手动 - 它可以获取所有组件与消息,并强调他们...我会做同样的,但认为这是可能的添加属性相反,还没有尝试过。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top