我有这段代码来实现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> {
...
}
最佳答案
您不能对同一接口(interface)实现两个或多个特化。
相反,您可以为将专门化 ModelDriven
的表单创建一个接口(interface)或抽象类,并通过实现 ModelDriven< 的
.getModel()
返回该接口(interface)
调用操作时,您可以检查某些条件(参数或方法,或映射)并返回相应的模型以符合指定的条件。
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;
}
}
关于java - 如何在 Struts 2 中使用 ModelDriven 提供两种形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16976313/