Struts2& Java8使用接口默认方法实现将参数传递给操作 - 不起作用

时间:2016-05-25 08:32:49

标签: struts2 java-8

我将参数projectId传递给Struts动作

http://localhost:8080/app/myaction.action?projectId=100

简单动作类定义为:

public class MyAction extends AnyStrutsAction  {
   private ParamReader paramReader = new ParamReader();

   public ParamReader getParamReader() {
        return paramReader;
   }

   public void setProjectId(String id) {
       getParamReader().setProjectId(id);
   }

   public  void execute()
       // ...
   }
}

一切正常(/)

接下来的方法setProjectId被提取到接口并实现为Java8默认方法:

public interface ParamReaderAware  {

    ParamReader getParamReader();

    default void setProjectId(String id) {
        getParamReader().setProjectId(id);
    }
}

public class MyAction extends AnyStrutsAction implements ParamReaderAware {

    private ParamReader paramReader = new ParamReader();

    @Override
    public ParamReader getParamReader() {
        return paramReader;
    }

    public  void execute()
    // ...
    }
}

现在打电话     http://localhost:8080/app/myaction.action?projectId=100 没有设置参数projectId。对于struts

,默认实现不可见

我的问题是: - Struts2支持默认接口方法吗? - 有没有办法这样做(任何struts配置,版本(currentyly im using 2.3.16))

为什么我将方法提取到接口。 - 我想为多个集体操作添加阅读参数功能

0 个答案:

没有答案