我将参数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))
为什么我将方法提取到接口。 - 我想为多个集体操作添加阅读参数功能