我在两个 @ViewScoped 托管 Bean 之间的通信存在巨大问题。以下清单显示了我这样做的方式。UserAddEditMB 被注入到 UserSearchMB 并在用户单击带有 onAdd 操作的按钮后,它调用 UserAddEditMB init 方法。最后,我的第二种形式有导航规则,但 u1 和 u2 为空。
这是在两个 @ViewScoped Managed bean 中执行通信的好方法吗?
@ManagedBean
@ViewScoped
public class UserSearchMB {
@ManagedProperty(value ="#{userAddEditMB}")
private UserAddEditMB userAddEditMB;
public void onAdd(){
userAddEditMB.init(String param1, String param2);
return "userAddEdit";
}
...
}
@ManagedBean
@ViewScoped
public class UserAddEditMB {
private String u1;
private String u2;
public void init(String param1, String param2){
this.u1 = param1;
this.u2 = param2;
}
....
}