我有一个带有@ManagedBean批注的ParentBean类。如果我将此类作为子类,则尽管@ManagedBean批注具有元注释Inherited,但ChildBean不会继承@ManagedBean批注。

我想念什么?

JSF 2.0
Mojarra 2.0.6 | JBoss 5.1.0.GA
Eclipse Indigo-内部版本号:20110615-0604

编辑:仍在寻找解决方案...

最佳答案

javax.annotation.ManagedBean没有@Inheritedjavax.faces.ManagedBean有。检查您的进口。

此外,我不会依赖于此。我没有在规范中定义它,但是通常,使用jsf托管bean进行继承是一个坏主意。即使拥有它,您也应该有一个抽象基类,该基类具有通用功能,但它本身不是托管bean。

另一件事-如果您在Bean上没有注释,则稍后阅读代码会更加困难。读者可能需要一段时间才能意识到它已被继承。

因此,在每个bean上放置@ManagedBean,不要过度使用继承。

10-06 06:36