Vaadin4spring和Vaadin Touchkit NavigationView

时间:2014-11-16 21:44:43

标签: spring vaadin7 vaadin-touchkit vaadin4spring

我正在尝试向NavigationView(Vaadin Touchkit)中注入几个spring服务,并且视图根本不由Spring管理,因此不会调用@PostConstruct方法,因此不会调用服务。

是否可以将此类视图作为spring bean管理,就像管理普通Vaadin Views一样?

否则,我如何在Vaadin Touchkit NavigationView中使用注入服务?

班级宣言:

@VaadinView(name = Views.HOME)
@UIScope
public class HomeView extends NavigationView {
    @Autowired
    private WindDataClientService windDataClientService;
    @Autowired
    private ForecastDataService forecastDataService;
    ...
    ...
    ...
    @PostConstruct
    public void init() {
        grpConditions.addComponent(lnkConditionsTitle);
        grpConditions.addComponent(buildConditionRows());
        lblAlertsTitle.setCaption(lblAlertsTitle.getCaption() + forecastDataService.findClosestForecast());
    }
}

提前多多感谢

1 个答案:

答案 0 :(得分:1)

您应该将TouchKits NavigationView视为普通的Vaadin组件,例如VerticalLayout或Panel,而不是Vaadin Navigator View。所以不需要用@VaadinView注释它,而只需要使用Component(〜@ VaadinComponent)注释它。

如果您想在导航器中使用NavigationView组件,则需要其他一些技巧。您至少需要使视图实现与导航器相关的View界面。我没有尝试过,但我认为它应该也可以。