论坛首页 Java企业应用论坛

STRUTS2 使用泛型有点问题,HELP

浏览 1123 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-10-02  
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 ;

	@Override
	public ServiceLevelData getData() {
		return data;
	}

	@Override
	public void setData(ServiceLevelData data) {
		this.data = data;
	}

	
}



这个时候页面调用 servicelevelaction ,页面上面有 data.name的数据, 但是DEBUG进去以后,发现最后调用了getData,而不会调用setData导致data数据是NULL,
能帮忙解决下伐?
   发表时间:2009-10-02  
对了如果这样,就没有问题

public abstract class BaseCacheAction<T extends CacheData> extends BaseAction implements ModelDriven<T>{

}

public class ServiceLevelAction extends BaseCacheAction<ServiceLevelData>{
	
	private ServiceLevelData data ;

	@Override
	public ServiceLevelData getData() {
		return data;
	}

	@Override
	public void setData(ServiceLevelData data) {
		this.data = data;
	}
	
	public ServiceLevelData getModel() {
		return null;
	}
	
}


使用了modeldriven以后成功的get 和set data了,难道是ognl的处理一定要在值栈里面设一下类型,使用泛型,会找不到对应的反射方法?
大大们帮忙解释下哈~
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics