Vaadin将数据传递给View

时间:2017-01-26 17:17:53

标签: java spring vaadin

我有这个导航栏:

enter image description here

单击请求按钮时,将执行以下代码:

getUI().getNavigator().navigateTo(viewName)

执行navigateTo时,如何将Select1和Select2数据传递给另一个控制器或视图?

2 个答案:

答案 0 :(得分:1)

您可以将传递给导航器,如下所示:

getUI().getNavigator().navigateTo(viewName + '/' + value1 + '/' + value2);

这将显示在此http://website.com/application#!viewname/value1/value2

这样的网址中

您可以像这样在新视图中获取值。您将需要扩展此代码以应对没有参数。此外,由于用户可以轻松更改URL,因此您需要验证值是否也可接受。

@Override
public void enter(ViewChangeEvent event) {


    String args[] = event.getParameters().split("/");
    String value1 = args[0];
    String value2 = args[1];

答案 1 :(得分:-3)

您需要使用URI片段。以下是官方链接:

Managing URI Fragments

Using parameters with views

和示例代码:

getUI().getPage().setUriFragment("value1,value2");

enter image description here