2

我有这个代码来实现ModelDriven机制。

public class Input_newAction extends CommonAction implements ModelDriven<InputForm> {

    private InputForm form = new InputForm();
    @Override
    public InputForm getModel() {
        return form;
    }
}

问题是我需要将另一个表单传递给Input_newAction. 这个怎么做?

public class Input_newAction extends CommonAction implements ModelDriven<InputForm>, 
ModelDriven<CopyForm> {
...
}
4

1 回答 1

0

您不能实现同一接口的两个或多个特化。

相反,您可以为将专门化的表单创建一个接口或抽象类,并ModelDriven通过实现getModel().ModelDriven

调用操作时,您可以检查某些条件(参数或方法或映射)并返回相应的模型以适应指定的条件。

public class Input_newAction extends CommonAction implements ModelDriven<CommonForm> {
  private boolean par;
  public setPar(boolean par){
    this.par = par;
  } 

  @Override
  public CommonForm getModel() {
    if (par)
     return inputForm;  
    else
     return copyForm;
  }
}
于 2013-06-07T10:47:00.120 回答