【发布时间】:2012-06-26 18:55:19
【问题描述】:
我有一个带有@PostConstruct 的BaseBean,以及一个扩展它的bean,我想在其上调用另一个@PostConstruct。我已经阅读了几个地方说它是可能的,但是,似乎首先调用了扩展类上的@postConstruct(如果完全调用了第二个)。然后我在“上下文”上得到一个 NPE,因为我假设超级 bean 的 PostConstruct 已经被调用。
这是可行的吗?如果是这样,我做错了什么?
基础 bean:
@ManagedBean
@RequestScoped
public class BaseBean {
@ManagedProperty(value = "#{contextBean}")
private ContextBean contextBean;
Context context;
@PostConstruct
public void setupContext() {
context = getContextBean().getContext();
}
扩展bean:
@ManagedBean
@RequestScoped
public class SmartBoxSearchBean extends BaseBean {
@PostConstruct
public void setUp() {
jsonHelper = context.get(SmartBoxJsonHelper.class);
}
谢谢, 尤塔姆。
【问题讨论】:
-
@YotamSeon 我有一个非常相似的问题here。您是否认为接受的建议是您唯一可以解决的问题?
标签: jsf postconstruct