表单数据

时间:2015-04-24 07:15:21

标签: 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 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() {

  }
 }

问题是从不调用setSearchParameter(),getTestParameterProperty()返回value = null的对象。

如何解决?

我知道肮脏的解决方案是将所有属性放在对象之外并直接放在表单中,但我不想要那个解决方案。

1 个答案:

答案 0 :(得分:1)

我弄清楚我的问题是什么。

对象需要是Serializable,然后才能工作。