0
我有2个jsf页面和2个bean。 第一页是登录页面,用户输入他的登录密码,然后他重定向到他的邮箱页面。我想从登录页面获取数据到邮箱页面。通过@ManagedProperty访问另一个托管bean
我的登录页面Bean:
@ManagedBean(name = "login")
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
@RequestScoped
public class LoginFormBean {
@EJB
private LoginService loginService;
private String email;
private String password;
public String getEmail() {
return email;
}
public String getPassword() {
return password;
}
public void setEmail(String email) {
this.email = email;
}
public void setPassword(String password) {
this.password = password;
}
public String login() {
if (loginService.loginUser(email, password))
return "mailBox.xhtml?faces-redirect=true";
else return "";
}
}
我的邮箱页面Bean:
@ManagedBean(name = "mailBox")
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
@RequestScoped
public class MailBoxFormBean {
@ManagedProperty(value = "#{login}")
private LoginFormBean login;
private String email = login.getEmail();
public void setLogin(LoginFormBean login) {
this.login = login;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
}
但是当我重定向到邮箱页面,登录bean是空,我不能让来自它的数据。 我做错了什么?
我已经看到了很多的教程和答案(例如, Using @ManagedProperty to call method between Managed beans或 http://www.techartifact.com/blogs/2013/01/access-one-managed-bean-from-another-in-jsf-2-0.html )
我做的完全一样的,但它不是为我工作。
非常感谢你! – 2013-03-12 07:08:43