【发布时间】:2014-07-25 13:38:31
【问题描述】:
我仍然是 JSF 编程的初学者,我正在尝试做一个小例子来了解它是如何工作的。 我面临的问题是从未调用托管 bean 的 @PostConstruct 方法(其中的实例从未进行过,并且其中的 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);
}
【问题讨论】:
-
我假设您在 jsf 页面中使用 EL 引用 bean?
-
嗨 kharyam,是的,我在 jsf 页面中使用它,如下所示:我对portlet 一无所知,但除此之外,我看不到任何错误。您使用的是什么 JSF 版本?你的代码在哪台机器上运行?您的进口商品是什么样的?你的 faces-config 是什么样的?您如何尝试访问该网页?
标签: jsf jsf-2 postconstruct