我想创建以下简单的 MVP 架构:
视图类只是 vaadin 布局、组件、样式。无功能。视图应该绑定到当前的 ViewScope/SessionScope,因此我
@UIScope
使用https://github.com/peholmst/vaadin4spring演示者应该注入视图,在视图组件上注册监听器,处理用户输入并委托给模型服务
问题:当我将视图注入演示者时,视图被重新创建,因此演示者和视图不在同一范围内。所以绑定将不起作用。我可以改变什么来实现上述设计?
@VaadinComponent
@UIScope
public class LoginView {
//form fields, buttons
}
@Controller
public class LoginPresenter implements ClickListener {
@Autowired
private LoginView view;
@PostConstruct
public void bind() {
view.getLoginButton().addClickListener(this);
}
@Override
public void buttonClick(ClickEvent event) {
//validate input and login
}
}