0

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

是否可以像管理普通 Vaadin 视图一样管理这种类型的视图作为 spring bean?

否则,如何在 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());
    }
}

非常感谢提前

4

1 回答 1

1

您应该将 TouchKits NavigationView 视为普通的 Vaadin 组件,如 VerticalLayout 或 Panel,而不是 Vaadin Navigator View。因此无需使用@VaadinView 对其进行注释,而只需使用 Component (~@VaadinComponent) 即可。

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

于 2014-11-17T15:38:22.467 回答