Sessionscoped bean不是会话

时间:2017-08-14 13:26:25

标签: jsf primefaces cdi

我目前正在构建一个应用程序,其中(客户)需求是Java EE和JSF(Primefaces)作为前端。

在这个应用程序中,我需要创建一个包含几个步骤的向导。因此,我创建了一个支持几个步骤信息的支持bean和一个处理表单中的点击和操作的控制器,因此强烈依赖于Bean。

问题是,每次调用控制器时都会重新创建Bean,尽管注释为Sessionscoped。因此,我得到了nullpointers,因为我期望启动的字段保持为null。

这是bean代码的一部分:

import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import java.io.Serializable;

@SessionScoped
@Named
/**
 * A placeholder for all the information needed in the wizard.
 */
public class WizardBean implements Serializable {

这是控制器代码的一部分:

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import java.io.IOException;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;

@ManagedBean(name = "registerInvestigationController")
@SessionScoped
public class WizardController implements Serializable {

    private static final long serialVersionUID = 3327044905245768948L;

    private static final Logger LOGGER = LoggerFactory.getLogger(WizardController.class);

    @Inject
    private WizardBean wizardBean;

知道我做错了吗?

0 个答案:

没有答案
相关问题