【问题标题】:problem injecting Sessionscoped bean in Managed bean在托管 bean 中注入 Sessionscoped bean 的问题
【发布时间】:2010-04-07 10:39:59
【问题描述】:

我有一个 Session 范围的 bean

@SessionScoped
public class UserData implements Serializable {

private String uid;

public String getUid() {
    return uid;
}

public void setUid(final String uid) {
    this.uid = uid;
}

我正在我的无状态会话 bean 中的 SessionScoped bean 中设置一个值

public void setOperator(final Operator operator) {
    userData.setUid(operator.getId());
}

当我尝试使用 @Inject 获取对象时,我只会得到 null

@ManagedBean(name = "RoleController")
@SessionScoped
public class RoleController {

...

@Inject
private UserData userData;

...

public UserData getUserData() {
    System.out.println("ID");
    System.out.println(userData.getUid());

我有一个 bean.xml

【问题讨论】:

  • 你使用的是哪个应用服务器?

标签: java dependency-injection ejb


【解决方案1】:

替换

@ManagedBean(name = "RoleController")

@Named("RoleController")

并确保为两个类导入 javax.enterprise.context.SessionScoped 而不是 javax.faces.bean.SessionScoped。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    • 2012-07-07
    相关资源
    最近更新 更多