Action类
package cn.jxc.ssm.action;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import cn.jxc.ssm.po.TDept;
import cn.jxc.ssm.po.TEmployee;
import cn.jxc.ssm.po.TEmployeeExtend;
import cn.jxc.ssm.service.TDeptService;
import cn.jxc.ssm.service.TEmployeeService;
@Controller
@Scope("prototype")
public class TEmployeeAction implements ServletRequestAware,ServletResponseAware{
@Resource
private TEmployeeService tEmployeeService;
@Resource
private TDeptService tDeptService;
private TEmployee record;
HttpServletRequest request;
HttpServletResponse response;
//查询全部员工
public void all() throws IOException{
String key = request.getParameter("key");//获取查询条件
//分页
int pageIndex = 0;
if(request.getParameter("pageIndex")!=null){
pageIndex = Integer.parseInt(request.getParameter("pageIndex"));
}
int pageSize = 10;
if(request.getParameter("pageSize")!=null){
pageSize = Integer.parseInt(request.getParameter("pageSize"));
}
int start = pageIndex * pageSize, end = start + pageSize;
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
List<TEmployeeExtend> listTEmployeeExtend = new ArrayList<TEmployeeExtend>();
listTEmployeeExtend = tEmployeeService.selectByTEmployeeName(key);
List<TEmployeeExtend> listT = new ArrayList<TEmployeeExtend>();
for(int i=0,l=listTEmployeeExtend.size();i<l;i++){
if(i>=start&&i<end){
listT.add(listTEmployeeExtend.get(i));
}
}
JSONArray jsArray = JSONArray.fromObject(listT);
String json = jsArray.toString();
System.out.println(json+"<-------");
String sq = "{"+"total:"+listTEmployeeExtend.size()+","+"data:"+json+"}";
System.out.println(sq);
response.getWriter().write(sq);
}
//修改员工信息
public void GetEmployee() throws IOException{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
String id = request.getParameter("id");
TEmployee te = tEmployeeService.selectByPrimaryKey(Integer.parseInt(id));
JSONObject json = JSONObject.fromObject(te);
String str = json.toString();
response.getWriter().write(str);
}
public String updateEmployee() {
String json = request.getParameter("data");
JSONArray array = JSONArray.fromObject(json);//先读取串数组
Object[] o = array.toArray();//转成对像数组
JSONObject obj = JSONObject.fromObject(o[0]);
//将json串转换成数组后,再将数组转换成对象
record = (TEmployee) obj.toBean(obj, TEmployee.class);
//将上传文件放在upload\\目录下
String oldPath = null;
oldPath = record.getImage();
if(oldPath.equals(null)||oldPath.equals("")){
record.setImage(tEmployeeService.selectByPrimaryKey(record.getId()).getImage());
tEmployeeService.updateByPrimaryKeySelective(record);
}
else{
String fileName = copyFile(oldPath);
record.setImage("upload\\"+fileName);
tEmployeeService.updateByPrimaryKeySelective(record);
}
return "updateEmployeeOk";
}
//删除员工
public String deleteEmployee(){
String idStr = request.getParameter("id");
String[] ids = idStr.split(",");
for (int i = 0, l = ids.length; i < l; i++)
{
int id = Integer.parseInt(ids[i]);
tEmployeeService.deleteByPrimaryKey(id);
}
return "deleteOk";
}
//插入员工(使用json进行处理)
public String insert(){
String json = request.getParameter("data");
JSONArray array = JSONArray.fromObject(json);//先读取串数组
Object[] o = array.toArray();//转成对像数组
JSONObject obj = JSONObject.fromObject(o[0]);
//将json串转换成数组后,再将数组转换成对象
record = (TEmployee) obj.toBean(obj, TEmployee.class);
//将上传文件放在tomcat服务器下jxc\\upload\\目录下
String oldPath = record.getImage();
String fileName = copyFile(oldPath);
record.setImage("upload\\"+fileName);
tEmployeeService.insert(record);
return "insertOk";
}
//查询部门使用JSON传数据
public void selectDeptAll() throws IOException
{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
List<TDept> listDept = new ArrayList<TDept>();
listDept = tDeptService.selectByExample(null);
JSONArray jsArray = JSONArray.fromObject(listDept);
String json = jsArray.toString();
response.getWriter().write(json);
}
//拷贝文件
public String copyFile(String oldPath) {
File oldfile = new File(oldPath);
String path = ServletActionContext.getServletContext().getRealPath("/upload");
//根据路径名创建一个文件
File file = new File(path);
//判断file是否存在,如果不存在,则自动创建一个
if(!file.exists()){
file.mkdirs();
}
//将上传的文件进行从新命名
String newFile = null;
newFile= UUID.randomUUID() + oldfile.getName().substring(oldfile.getName().indexOf("."));
//将上传文件放入到新的目录下
try {
FileUtils.copyFile(oldfile, new File(file, newFile));
} catch (IOException e) {
e.printStackTrace();
}
return newFile;
}
public TEmployee getRecord() {
return record;
}
public void setRecord(TEmployee record) {
this.record = record;
}
//setsetServletRequest方法实现ServletRequestAware接口
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
//setServletResponse方法实现ServletResponseAware方法
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
}
需要java学习的资料,搜索微信公众号javamy012