- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里和 Vaadin 论坛上搜索了几个小时,但我在这里似乎遇到了一个独特的问题。
我大大简化了我的问题,以便能够轻松地说明它。所以我有一个 Bean 类:
public class Bean {
private String name;
private NestedBean nestedBean;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public NestedBean getNestedBean() {
return nestedBean;
}
public void setNestedBean(NestedBean nestedBean) {
this.nestedBean = nestedBean;
}
Bean() {
this.name = "Bean";
this.nestedBean = new NestedBean();
}
}
及其嵌套字段,类 NestedBean:
public class NestedBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
NestedBean() {
this.name = "NestedBean";
}
}
现在我想在 BeanFieldGroup 的帮助下将 Bean 实例绑定(bind)到两个 TextField:
Bean bean = new Bean();
BeanFieldGroup<Bean> binder = new BeanFieldGroup<>(Bean.class);
binder.setItemDataSource(bean);
addComponent(binder.buildAndBind("Name", "name"));
addComponent(binder.buildAndBind("Nested name", "nestedBean.name"));
但是,这会引发此异常:
java.lang.IllegalArgumentException: Property com.reygok.vaadin.main.Bean.nestedBean is not cascaded
Caused by: org.apache.bval.jsr.UnknownPropertyException: Property com.reygok.vaadin.main.Bean.nestedBean is not cascaded
我尝试了不同的解决方案,例如:
首先创建文本字段,然后使用
binder.bind(textField, "nestedBean.name");
首先执行此操作:
binder.getItemDataSource().addNestedProperty("nestedBean.name");
但是没有任何改变异常。那么有人知道是什么原因造成的吗?
提前非常感谢!
最佳答案
我找到了,所以如果其他人也有同样的问题:
解决方案是将@Valid注释添加到内部有嵌套字段的字段中。
所以在我的例子中:
public class Bean {
private String name;
@Valid
private NestedBean nestedBean;
...
关于java - Vaadin BeanFieldGroup - 绑定(bind)嵌套属性时为 "Property is not cascaded",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41139685/
我正在尝试在我的应用程序中使用 BeanFieldGroup 创建一个 ComboBox 组件,但仍然无法做到这一点。我尝试先创建一个组合框,然后在 buildAndBind 中添加这个组合框,但也不
我有一个带有多个 validator 的 BeanFieldGroup 和一个用于提交表单的 Save 按钮。但是,如果我在我的实体上有例如 @NotBlank 验证约束,并且默认情况下输入字段为空,
在 Vaadin 的书中,我读到了以下内容: Validating a bean is done with a BeanValidator, which you initialize with the
我正在开发 vaadin 应用程序,现在遇到以下问题。我正在尝试沿 BeanFieldGroup 绑定(bind)嵌套属性。 MyEntity 类 @Entity public class MyEnt
我正在尝试绑定(bind)一个组合框来显示 List 的值带注释@ElementCollection但不起作用并返回一些异常。 我正在尝试这个。 @Entity public class Unidad
我有以下 POJO public class Person { private String name; private List emails; // getter & setter }
我在这里和 Vaadin 论坛上搜索了几个小时,但我在这里似乎遇到了一个独特的问题。 我大大简化了我的问题,以便能够轻松地说明它。所以我有一个 Bean 类: public class Bean {
我是一名优秀的程序员,十分优秀!