首页>代码>java SSH三大框架整合,实现了泛型baseAction,泛型baseService,泛型baseDao>/sshdemo/src/com/ssh/demo/action/BaseAction.java
package com.ssh.demo.action; import java.io.InputStream; import java.lang.reflect.ParameterizedType; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.struts2.interceptor.ApplicationAware; import org.apache.struts2.interceptor.RequestAware; import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.ssh.demo.service.UserService; @SuppressWarnings("unchecked") public class BaseAction<T> extends ActionSupport implements RequestAware, SessionAware, ApplicationAware, ModelDriven<T> { protected T model; // model 有可能为 user,student,teacher等等........ protected Map<String, Object> jsonMap = null; protected List<T> jsonList = null; protected InputStream inputStream = null; protected Map<String, Object> application; protected Map<String, Object> session; protected Map<String, Object> request; @Resource protected UserService userService; /** * 通过反射动态的创建对象 */ public BaseAction() { ParameterizedType type = (ParameterizedType) this.getClass() .getGenericSuperclass(); Class clazz = (Class) type.getActualTypeArguments()[0]; try { model = (T) clazz.newInstance(); } catch (Exception e) { throw new RuntimeException(e); } } @Override public T getModel() { return model; } public void setJsonMap(Map<String, Object> jsonMap) { this.jsonMap = jsonMap; } public Map<String, Object> getJsonMap() { return jsonMap; } public List<T> getJsonList() { return jsonList; } public void setJsonList(List<T> jsonList) { this.jsonList = jsonList; } public InputStream getInputStream() { return inputStream; } public void setInputStream(InputStream inputStream) { this.inputStream = inputStream; } @Override public void setApplication(Map<String, Object> application) { this.application = application; } @Override public void setSession(Map<String, Object> session) { this.session = session; } @Override public void setRequest(Map<String, Object> request) { this.request = request; } }
最近下载更多
tomjackhys LV11
2020年6月21日
AndrewLiuFuWen LV9
2020年5月5日
1690356080 LV37
2020年4月8日
zhangdd LV10
2019年11月20日
whywhywhy LV10
2019年10月9日
wxm4252 LV12
2019年9月15日
q1030275646 LV7
2019年4月22日
pubg0206 LV7
2019年3月18日
530413 LV5
2019年3月11日
rzj123456 LV2
2019年3月6日