1

我有一些问题。

我有一些对象:

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() 返回值 = null 的对象。

如何解决?

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

4

1 回答 1

1

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

对象需要可序列化,然后才能工作。

于 2015-04-24T08:45:29.047 回答