【发布时间】:2012-09-17 06:30:46
【问题描述】:
假设我们有一个像
@ManagedBean(name = "categoriesbean")
@RequestScoped
public class CategoriesBean {
Integer id;
public Integer getId() { return id;}
public void setId(Integer idarg) { id = idarg;}
...
...
}
在同一个应用程序中,我在其他地方
@ManagedBean(name = "categoriesdetailedbean")
@ViewScoped
public class CategoriesDetailedBean extends CategoriesBean {
Integer idderived;
public Integer getIdderived() { return idderived;}
public void setIdderived(Integer idderivedarg) { idderived = idderivedarg;}
...
...
}
“categoriesdetailedbean”的范围是什么,以及它的属性(例如 Id 与 Idderived 的范围?)。
我问的原因是,我看到了一些我似乎不太理解的效果。
【问题讨论】:
-
对不起,我不批评你的问题。我想知道为什么您需要在托管 bean 中进行继承。我建议您在托管 bean 中使用 POJO 类。
-
定义托管 bean 时,bean 的范围取决于您在类本身上指定的内容,而不是基类。所以
categoriesbean是请求范围,categoriesdetailedbean是视图范围。你不明白的效果是什么? -
@erencan:我不明白为什么托管 bean 不能被继承,尤其是当我重用大量基础对象功能时。
标签: jakarta-ee jsf-2 javabeans