我有和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。
它就像我的觀察者位於不同的談話。
我可以爲同一用戶會話激活多個對話嗎?
更新: 當我將導航規則更改爲重定向時,代碼正常工作。
你能用初始化用戶的代碼更新你的問題嗎? –