java - 如何在 Struts 2 中使用 ModelDriven 提供两种形式

标签 java jsp struts2 model-driven

我有这段代码来实现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/

相关文章:

java - 启动过滤器 struts2 时出现异常 无法加载配置。文档根元素 "package",必须与 DOCTYPE 根 "struts"匹配

jsp - Struts 2 返回 404 不是由 tomcat 错误页面触发的

javascript - struts2单选按钮id属性值动态变化

java 。实现监听器的正确模式

java - 具有以下功能的 CMS Advice

java - 自定义 JSpinner

java - 在Struts2中使用重定向结果类型时会发生404(从一个jsp重定向到另一个jsp)

java - 获取特定位置上所有出现的元素,并将它们显示为 JavaFX 中的工具提示

javascript - 在jsp中访问javascript中的 session 变量

apache - Tomcat配置求助!