我在Vaadin中遇到以下异常:


  java.lang.ClassCastException:com.example.view.ForecastInputs $ 2无法转换为com.example.view.ForecastInputs


在这一行:

ForecastInputs forecastInputs = (ForecastInputs) UI.getCurrent().getSession().getAttribute("forecastInputs");


我认为这是因为我多次从Vaadin会话中存储和检索对象。

请帮我解决一下这个。

最佳答案

就像Ben所说的,您得到了您所付出的。

看来您添加了ForecastInputs匿名内部类的对象。我想,您在类ForecastInputs中做了类似的事情

Button x = new Button();
x.addClickListener((e) -> { UI.getCurrent().getSession().setAttribute("forecastInputs", this); });


但是您应该添加属性ForecastInputs.this

07-24 15:52