我有一个ParentBean
类,其中包含@ManagedBean注释。如果我将此类子类化,ChildBean
不会继承@ManagedBean批注,尽管@ManagedBean批注具有元标注Inherited。
我错过了什么?
JSF 2.0 Mojarra 2.0.6 | JBoss 5.1.0.GA Eclipse Indigo - Build id: 20110615-0604
编辑:仍在寻找解决方案......
答案 0 :(得分:7)
javax.annotation.ManagedBean
没有@Inherited
。 javax.faces.ManagedBean
有。检查你的进口。
此外,我不会依赖于此。我没有看到它在规范中定义,但通常使用jsf托管bean继承是一个坏主意。即使你拥有它,你也应该有一个抽象的基类,它具有通用功能,但它本身不是托管bean。
另一件事 - 如果你没有在bean上使用注释,那么稍后阅读代码会更难。可能需要一段时间,直到读者意识到它是继承的。
所以把@ManagedBean
放在每个bean上,不要过度使用继承。
答案 1 :(得分:4)