我有和CDI bean的UserController注释为@ConversationScope与一个属性名为用户暴露的getters和setter。为什么两个会话范围的控制器不能互相看到?
@ConversationScoped
@Named("userController")
public class UserController implements Serializable {
private User user;
@PostConstruct
public void init() {
this.user = new User();
}
//getters and setters ommited...
}
我也有我的观察员的第二课。
@ConversationScoped
public class UserObservers implements Serializable {
@Inject private UserController controller;
public void createObserver(@Observes @MyQualifier MyEvent event) {
this.controller.getUser().setName("Test Name");
}
}
的用户属性填充我的界面,我想我的观察来改变用户的名称,但用户属性总是返回null。
它就像我的观察者位于不同的谈话。
我可以为同一用户会话激活多个对话吗?
更新: 当我将导航规则更改为重定向时,代码正常工作。
你能用初始化用户的代码更新你的问题吗? –