You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
3.8 KiB
168 lines
3.8 KiB
package com.oa.action;
|
|
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.FileNotFoundException;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.OutputStream;
|
|
import java.util.List;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.struts2.ServletActionContext;
|
|
|
|
import com.oa.pojo.Forum;
|
|
import com.oa.service.ForumManageService;
|
|
import com.opensymphony.xwork2.ActionContext;
|
|
import com.opensymphony.xwork2.ActionSupport;
|
|
import com.opensymphony.xwork2.ModelDriven;
|
|
|
|
public class ForumManageAction extends ActionSupport implements
|
|
ModelDriven<Forum> {
|
|
|
|
private ForumManageService forumManageService;
|
|
private Forum forum = new Forum();
|
|
// 文件
|
|
private File image;
|
|
// 文件名
|
|
private String imageFileName;
|
|
// 文件类型
|
|
private String imageContentType;
|
|
|
|
public String list() {
|
|
List<Forum> forumList = forumManageService.findAll();
|
|
ActionContext.getContext().put("forumList", forumList);
|
|
return "forumManageList";
|
|
}
|
|
|
|
public String addUI() {
|
|
return "add";
|
|
}
|
|
|
|
public String add() {
|
|
|
|
System.out.println("文件名:" + imageFileName);
|
|
System.out.println("文件类型:" + imageContentType);
|
|
|
|
String filePath = "d:/oarun/image/forum/" + forum.getName()+"_"+imageFileName;
|
|
File saveFile = new File(filePath);
|
|
try {
|
|
FileUtils.copyFile(image, saveFile);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
forum.setImageName(filePath);
|
|
forumManageService.save(forum);
|
|
ActionContext.getContext().put("msg_add", "添加论坛版块成功");
|
|
|
|
return list();
|
|
}
|
|
|
|
public String editUI() {
|
|
Forum f = forumManageService.getById(forum.getId());
|
|
ActionContext.getContext().getValueStack().push(f);
|
|
return "edit";
|
|
}
|
|
|
|
public String edit() {
|
|
|
|
String filePath = "d:/oarun/image/forum/" + forum.getName()+"_"+imageFileName;
|
|
File saveFile = new File(filePath);
|
|
try {
|
|
FileUtils.copyFile(image, saveFile);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
forum.setImageName(filePath);
|
|
|
|
forumManageService.update(forum);
|
|
ActionContext.getContext().put("msg_edit", "编辑论坛版块成功");
|
|
|
|
return list();
|
|
}
|
|
|
|
public String delete() {
|
|
forumManageService.delete(forum.getId());
|
|
ActionContext.getContext().put("msg_delete", "删除论坛版块成功");
|
|
|
|
return list();
|
|
}
|
|
|
|
// 版块上移
|
|
public String moveUp() {
|
|
forumManageService.moveUp(forum.getId());
|
|
return list();
|
|
}
|
|
|
|
// 版块下移
|
|
public String moveDown() {
|
|
forumManageService.moveDown(forum.getId());
|
|
return list();
|
|
}
|
|
|
|
// 显示版块图片
|
|
public void showImage() {
|
|
Forum f=forumManageService.getById(forum.getId());
|
|
String filePath = f.getImageName();
|
|
try {
|
|
InputStream in=new FileInputStream(filePath);
|
|
|
|
byte[] data;
|
|
try {
|
|
data = new byte[in.available()];
|
|
in.read(data);
|
|
in.close();
|
|
HttpServletResponse response = ServletActionContext.getResponse();
|
|
response.setContentType("image/*"); // 设置返回的文件类型
|
|
OutputStream out = response.getOutputStream(); // 得到向客户端输出二进制数据的对象
|
|
out.write(data); // 输出数据
|
|
out.close();
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
} catch (FileNotFoundException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
public void setForumManageService(ForumManageService forumManageService) {
|
|
this.forumManageService = forumManageService;
|
|
}
|
|
|
|
@Override
|
|
public Forum getModel() {
|
|
return forum;
|
|
}
|
|
|
|
public File getImage() {
|
|
return image;
|
|
}
|
|
|
|
public void setImage(File image) {
|
|
this.image = image;
|
|
}
|
|
|
|
public String getImageFileName() {
|
|
return imageFileName;
|
|
}
|
|
|
|
public void setImageFileName(String imageFileName) {
|
|
this.imageFileName = imageFileName;
|
|
}
|
|
|
|
public String getImageContentType() {
|
|
return imageContentType;
|
|
}
|
|
|
|
public void setImageContentType(String imageContentType) {
|
|
this.imageContentType = imageContentType;
|
|
}
|
|
|
|
|
|
}
|