标签:
1 package com.java1234.action;//所在的包 2 3 import java.sql.Connection;//数据库连接的类 4 import java.util.ArrayList;//ArrayList和List是在private List<DataDic> dataDicList=new 5 6 ArrayList<DataDic>();中用到 7 import java.util.List;//ArrayList和List是在private List<DataDic> dataDicList=new 8 9 ArrayList<DataDic>();中用到 10 11 import javax.servlet.http.HttpServletRequest; 12 import javax.servlet.http.HttpSession; 13 14 import net.sf.json.JSONObject; 15 16 import org.apache.struts2.ServletActionContext;//访问Servlet API的时候使用的非IOC方式 17 18 ,方法一:org.apache.Structs2.ServletActionContext获取session,request,response 19 import org.apache.struts2.interceptor.ServletRequestAware; ////访问Servlet API的时候 20 21 使用的IOC方式(Inversion of Control,自身不创建对象,仅仅描述创建它们的方式.)这里是 22 23 让Action实现ServletRequestAware接口而已,没有实现ServletResponseAware接口还有 24 25 SessionWare接口 26 27 import com.java1234.dao.DataDicDao; 28 import com.java1234.model.DataDic; 29 import com.java1234.model.PageBean; 30 import com.java1234.util.DbUtil; 31 import com.java1234.util.NavUtil; 32 import com.java1234.util.PageUtil; 33 import com.java1234.util.PropertiesUtil; 34 import com.java1234.util.ResponseUtil; 35 import com.java1234.util.StringUtil; 36 import com.opensymphony.xwork2.ActionSupport;//action需要继承这个类 37 38 /*这里是让类实现ServletRequestAware接口就是非IOC方式,没有实现ServletResponseAware接 39 40 口还有SessionWare接口*/ 41 // 这里是让类继承了ActionSupport这个类,实现IOC方式 42 public class DataDicAction extends ActionSupport implements ServletRequestAware{ 43 44 /** 45 * 46 */ 47 private static final long serialVersionUID = 1L; 48 49 private HttpServletRequest request;//定义request 50 private DbUtil dbUtil=new DbUtil(); 51 private DataDicDao dataDicDao=new DataDicDao(); 52 private List<DataDic> dataDicList=new ArrayList<DataDic>();//定义一个DataDic 53 54 类型的ArrayLst,但是ArrayList定义的时候需要用List a=new ArrayList();定义 55 56 private String mainPage; 57 private String navCode; 58 59 private String s_ddTypeName; 60 61 private String page; 62 private int total; 63 private String pageCode; 64 65 private String ddId; 66 67 68 69 70 public String getDdId() { 71 return ddId; 72 } 73 74 public void setDdId(String ddId) { 75 this.ddId = ddId; 76 } 77 78 public String getPage() { 79 return page; 80 } 81 82 public void setPage(String page) { 83 this.page = page; 84 } 85 86 public int getTotal() { 87 return total; 88 } 89 90 public void setTotal(int total) { 91 this.total = total; 92 } 93 94 public String getPageCode() { 95 return pageCode; 96 } 97 98 public void setPageCode(String pageCode) { 99 this.pageCode = pageCode; 100 } 101 102 public List<DataDic> getDataDicList() { 103 return dataDicList; 104 } 105 106 public void setDataDicList(List<DataDic> dataDicList) { 107 this.dataDicList = dataDicList; 108 } 109 110 public String getMainPage() { 111 return mainPage; 112 } 113 114 public void setMainPage(String mainPage) { 115 this.mainPage = mainPage; 116 } 117 118 public String getNavCode() { 119 return navCode; 120 } 121 122 public void setNavCode(String navCode) { 123 this.navCode = navCode; 124 } 125 126 public String getS_ddTypeName() { 127 return s_ddTypeName; 128 } 129 130 public void setS_ddTypeName(String s_ddTypeName) { 131 this.s_ddTypeName = s_ddTypeName; 132 } 133 134 public String list(){//定义一个方法 135 if(StringUtil.isEmpty(page)){ 136 page="1"; 137 } 138 Connection con=null; 139 try{ 140 HttpSession session=request.getSession();//非IoC方式的第一种 141 142 方法:使用org.apache.struts2.SerVletActionContext获取session对象 143 DataDic s_dataDic=new DataDic(); 144 if(s_ddTypeName!=null){ 145 s_dataDic.setDdTypeName(s_ddTypeName);//非IoC方式的第 146 147 一种方法:使用org.apache.struts2.SerVletActionContext获取session对象 148 session.setAttribute("s_ddTypeName", s_ddTypeName);// 149 150 非IoC方式的第一种方法:使用org.apache.struts2.SerVletActionContext获取session对象 151 }else{ 152 Object o=session.getAttribute("s_ddTypeName");//非IoC 153 154 方式的第一种方法:使用org.apache.struts2.SerVletActionContext获取session对象 155 if(o!=null){ 156 s_ddTypeName=(String)session.getAttribute 157 158 ("s_ddTypeName");//非Ioc方式的第一种方法:使用org.apache.struts2.SerVletActionContext 159 160 获取session对象 161 s_dataDic.setDdTypeName(s_ddTypeName); 162 } 163 } 164 PageBean pageBean=new PageBean(Integer.parseInt 165 166 (page),Integer.parseInt(PropertiesUtil.getValue("pageSize"))); 167 con=dbUtil.getCon(); 168 dataDicList=dataDicDao.dataDicList(con,s_dataDic,pageBean); 169 total=dataDicDao.dataDicCount(con, s_dataDic); 170 pageCode=PageUtil.genPagation(request.getContextPath 171 172 ()+"/dataDic!list", total, Integer.parseInt(page), Integer.parseInt 173 174 (PropertiesUtil.getValue("pageSize"))); 175 navCode=NavUtil.getNavgation("系统管理", "数据字典维护"); 176 mainPage="dataDic/dataDicList.jsp"; 177 }catch(Exception e){ 178 e.printStackTrace(); 179 }finally{ 180 try { 181 dbUtil.closeCon(con); 182 } catch (Exception e) { 183 // TODO Auto-generated catch block 184 e.printStackTrace(); 185 } 186 } 187 return SUCCESS; 188 } 189 190 @Override 191 public void setServletRequest(HttpServletRequest request) {//IoC方式访问 192 193 Servlet API,要用到request对象。为request方法添加setter方法 194 // TODO Auto-generated method stub 195 this.request=request; 196 } 197 198 public String delete(){ 199 Connection con=null; 200 try{ 201 con=dbUtil.getCon(); 202 JSONObject resultJson=new JSONObject(); 203 dataDicDao.dataDicDelete(con, ddId); 204 resultJson.put("success", true); 205 ResponseUtil.write(resultJson, 206 207 ServletActionContext.getResponse());//非Ioc方式的第一种方法:使用 208 209 org.apache.struts2.SerVletActionContext 210 }catch(Exception e){ 211 e.printStackTrace(); 212 }finally{ 213 try { 214 dbUtil.closeCon(con); 215 } catch (Exception e) { 216 // TODO Auto-generated catch block 217 e.printStackTrace(); 218 } 219 } 220 return null; 221 } 222 }
struts中调用servlet的两种方法——IcC方式和非IoC方式的代码demo
标签:
原文地址:http://www.cnblogs.com/zzzzw/p/4539968.html