如何在另一个托管bean中访问一个托管bean的属性

Sla*_*lay 8 jsf parameter-passing jsf-2 managed-bean

我有一个托管bean(SessionScope如下)

@ManagedBean(name="login")
@SessionScoped
public class Login implements Serializable {

   private String userSession;
   public Login(){
   }
}
Run Code Online (Sandbox Code Playgroud)

在此managedbean中,在登录功能的某处,我将电子邮件存储为会话.

我有另一个名为ChangePassword(ViewScoped)的托管bean.我需要访问存储在userSession中的电子邮件的值.

这样做的原因是我需要在完成更改密码功能之前找出当前的userSession(电子邮件).(需要更改该特定电子邮件的密码)

我怎么做的?JSF的新手,感谢任何帮助!

Bal*_*usC 17

只需将一个bean注入另一个bean的托管属性即可.

@ManagedBean
@ViewScoped
public class ChangePassword {

    @ManagedProperty("#{login}")
    private Login login; // +setter (no getter!)

    public void submit() {
        // ... (the login bean is available here)
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

也可以看看: