渲染子类返回超类

时间:2014-07-17 10:09:22

标签: java spring java-ee

我正在使用类似

的类属性渲染一个类
@ToString
@EqualsAndHashCode
public class DefineObjectForm<T extends Parcel> {
   private static final Logger LOGGER = LoggerFactory.getLogger(DefineObjectForm.class);

@Getter
@Setter
private T  parcel;

} 

我将Parcel定义为通用,因为有时候可能是UserDefine,有时候是GlobalParcel,它们都扩展了Parcel

我将该parcel类设置为UserDefined类

   DefineObjectForm dof = new DefineObjectForm();
   dof.setParcel(new UserDefined());

现在我正在渲染这个实体。

但是,只要我使用此modelAndAttribute模型提交表单,我就会收到Parcel而不是UserDefined。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您需要在实例化中指定类型:

DefineObjectForm<UserDefined> dof = new DefineObjectForm<UserDefined>();