1
我有一些問題。表單數據中的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的對象。
如何解決?
我知道骯髒的解決方案將把所有屬性之外的對象和直接在窗體中,但我不希望這種解決方案。
當然,如果您在表單中使用特定的類型作爲字段值或變量,它必須是「Serializable」。你已經通過查看Stacktrace找到了。另外,我可以說getTestParameter()和setTestParameter(..)不會被調用,因爲'importFormData(..)'和'exportFormData(..)'使用反射來獲取和設置'Form'和'FormData'。 – Jmini