代码之家  ›  专栏  ›  技术社区  ›  jamiebarrow

JSF 2-在页面加载时清除组件属性?

  •  1
  • jamiebarrow  · 技术社区  · 14 年前

    真正的问题是: 是否有方法在初始页面加载时清除所有组件的某些属性?

    背景信息:

    在我的应用程序中,我有一个JSF 2.0前端层,它与服务层(服务层由注入到托管bean中的SpringBean组成)。

    服务层进行自己的验证,我在前端层使用自己的验证程序类进行相同的验证,以设法避免代码重复。这些验证器类不是JSF验证器,它们只是pojos。

    我只对一个操作进行验证,所以在action方法中,我执行验证,并且只有当它有效时,我才调用到服务层。

    当我进行验证时,我使用反射在uicomponents上设置了styleclass和title(因此,如果uicomponent有setStyleClass(:string)或setTitle(:string)方法,那么我使用它们)。

    这很好地工作,在一个验证错误中,我看到一个样式很好的文本框,如果我将鼠标悬停在它上面,它会弹出一个包含错误消息的弹出窗口。但是,由于该组件绑定到会话范围的托管bean,因此这些属性似乎仍然存在。所以,如果我离开并返回到同一个页面,样式类和标题仍然处于错误状态。

    是否有一种方法可以清除每次初始页面加载时的样式类和标题属性?

    谢谢,

    詹姆斯

    另外,我正在使用action方法进行验证,因为我以前在使用JSF1.2和它的验证方法时遇到过一些问题,但是我记不起为什么……这就是为什么我要使用action方法进行验证。

    1 回复  |  直到 14 年前
        1
  •  0
  •   jamiebarrow    14 年前

    好的,所以我必须用相位检波器,看 this blog entry by BalusC this other blog entry ,这是一个更好的方法来完成我已经做的事情-使用反射手动设置样式类-它获取所有带有消息的组件并突出显示它们…我也要这么做,不过我觉得可以添加一个属性,但还没有尝试过。