STRUTS2 使用泛型有点问题,HELP
public abstract class BaseCacheAction<T extends CacheData> extends BaseAction {public abstract void setData(T data);public abstract T getData();public String execute(){return SUCCESS;}}public class ServiceLevelAction extends BaseCacheAction<ServiceLevelData>{private ServiceLevelData data ;@Overridepublic ServiceLevelData getData() {return data;}@Overridepublic void setData(ServiceLevelData data) {this.data = data;}}
这个时候页面调用 servicelevelaction ,页面上面有 data.name的数据, 但是DEBUG进去以后,发现最后调用了getData,而不会调用setData导致data数据是NULL,
能帮忙解决下伐?public abstract class BaseCacheAction<T extends CacheData> extends BaseAction implements ModelDriven<T>{}public class ServiceLevelAction extends BaseCacheAction<ServiceLevelData>{private ServiceLevelData data ;@Overridepublic ServiceLevelData getData() {return data;}@Overridepublic void setData(ServiceLevelData data) {this.data = data;}public ServiceLevelData getModel() {return null;}}
使用了modeldriven以后成功的get 和set data了,难道是ognl的处理一定要在值栈里面设一下类型,使用泛型,会找不到对应的反射方法?
大大们帮忙解释下哈~