@PostConstruct方法永远不会在ManagedBean上调用init()

时间:2014-07-25 13:38:32

标签: jsf jsf-2 postconstruct

我还是JSF编程的初学者,我试图做一个小例子来了解它是如何工作的。 我面临的问题是托管bean的@PostConstruct方法永远不会被调用(它中的instanciations永远不会被创建,并且其中的println不会显示一个东西) 我尝试了各种托管bean(Session,Request ...),但总会遇到同样的问题!

我的托管bean:

@ManagedBean(name = "helloWorldMBean")
@SessionScoped
public class HelloWorldMBean implements Serializable {

private static final long serialVersionUID = 1L;
private PortletRequest request;
private String nom;
private String prenom;
private String complement;
private BigDecimal age;
private String year;

/* getters and setters */

@PostConstruct
public void init() {
    System.out.println("Hi !");
    if (request == null) {
        request = (PortletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
    }
    complement = "...";
    nom = "Init";
    System.out.println("Comp : " + complement);
}

1 个答案:

答案 0 :(得分:0)

感谢您的评论。 我刚刚发现了我项目中缺少的内容:它是jboss-deployment-structure.xml! 我添加了依赖项并且它有效,但我还没有理解它。