伙计我使用jsf 2.0与春天。 我使用@PostConstruc在托管bean中注释了一个方法,但是如果在bean中没有字段连接到jsf页面,即使在jsf页面中有一个操作方法连接到@PostConstruct方法,也不会调用@PostConstruct方法豆。 预先感谢您。@PostConstruct不工作,如果只声明行动方法
的交代添加的代码:
这对我BackingManagedBean
@ManagedBean(name="utenteBean")
@ViewScoped
public class UtenteBean extends SupportBean implements Serializable
虽然这是我的ControllerManagedBean
@ManagedBean(name="gestisciUtentiController")
@ViewScoped
public class GestisciUtentiController extends MessageSupportBean implements Serializable {
@ManagedProperty(value="#{utenteBean}")
private UtenteBean utenteBean;
public void setUtenteBean(UtenteBean utenteBean) {
this.utenteBean = utenteBean;
}
@PostConstruct
public void loadBean()
{
try
{
utenteBean.setUtentis(getFacadeFactory().getUtenteFacade().readAllOrdered(Utente.class, "username"));
}
catch (ApplicationException e)
{
setExceptionMessage(e.getLocalizedMessage(), e.getLocalizedMessageDetail());
}
}
究竟如何,是'@ PostConstruct'有用的,如果你没有任何呈现视图的东西?那时你基本上没有什么准备。你有什么样的代码?什么是功能要求? – BalusC 2011-04-22 21:49:41
我试图让不同类型的托管bean,例如我有ModelManagedBean具有页面和ControllerManagedBean具有操作方法的所有属性。现在我认为在ControllerManagedBean中,我必须调用postConstruct方法来初始化,例如ModelManagedBean的List对象 – 2011-04-22 21:53:33
使模型成为控制器的属性。那么它不应该是'@ ManagedBean'。 – BalusC 2011-04-22 21:59:33