Object Eclipse Scout表单数据中的自定义对象
我有一些问题 我有一个目标:Object Eclipse Scout表单数据中的自定义对象,object,form-data,eclipse-scout,Object,Form Data,Eclipse Scout,我有一些问题 我有一个目标: public class TestParameter { private Long par1; private Long par2; public Long getPar1() { return par1; } public void setPar1(final Long par1) { this.par1 = par1; } public Long getPar2() { return par2;
public class TestParameter {
private Long par1;
private Long par2;
public Long getPar1() {
return par1;
}
public void setPar1(final Long par1) {
this.par1 = par1;
}
public Long getPar2() {
return par2;
}
public void setPar2(final Long par2) {
this.par2 = par2;
}
}
我有一个关于这个bean的表单:
@FormData(value = PurchaseConditionsEditFormData.class, sdkCommand = FormData.SdkCommand.CREATE)
public class TestForm extends AbstractForm {
private TestParameter m_testParameter;
@FormData
public TestParameter getTestParameter() {
return m_testParameter;
}
@FormData
public void setTestParameter(final TestParameter testParameter) {
m_testParameter = testParameter;
}
}
我的问题是我可以在表单数据中使用它,因为在表单数据中它是创建的
/**
* access method for property TestParameter.
*/
public TestParameter getTestParameter() {
return getSearchParameterProperty().getValue();
}
/**
* access method for property TestParameter.
*/
public void setSearchParameter(TestParameter testParameter) {
getTestParameterProperty().setValue(testParameter);
}
public TestParameterProperty getTestParameterProperty() {
return getPropertyByClass(TestParameterProperty.class);
}
public static class TestParameterProperty extends
AbstractPropertyData<TestParameter> {
private static final long serialVersionUID = 1L;
public TestParameterProperty() {
}
}
/**
*属性TestParameter的访问方法。
*/
公共测试参数getTestParameter(){
返回getSearchParameterProperty().getValue();
}
/**
*属性TestParameter的访问方法。
*/
public void setSearchParameter(TestParameter TestParameter){
getTestParameterProperty().setValue(testParameter);
}
公共测试ParameterProperty getTestParameterProperty(){
返回getPropertyByClass(TestParameterProperty.class);
}
公共静态类TestParameterProperty扩展
抽象属性数据{
私有静态最终长serialVersionUID=1L;
公共测试参数解释属性(){
}
}
问题是永远不会调用setSearchParameter(),getTestParameterProperty()返回值为null的对象
如何修复它
我知道肮脏的解决方案是将所有属性放在对象之外,直接放在表单中,但我不想要那个解决方案。我知道我的问题出在哪里
对象需要是可序列化的,然后才能工作。当然,如果在表单中使用特定类型作为字段值或变量,则它必须是可序列化的。你已经通过查看Stacktrace找到了答案。此外,我可以说,
getTestParameter()
和setTestParameter(..)
从未被调用,因为importFormData(..)
和exportFormData(..)
使用反射来获取和设置表单
和表单数据
之间的值。