📄 documentaction.java
字号:
package com.cnpoint.myspaces.document.controller;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
import java.util.ResourceBundle;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.cnpoint.myspaces.common.util.PagerUtil;
import com.cnpoint.myspaces.document.model.Document;
import com.cnpoint.myspaces.document.model.DocumentNode;
import com.cnpoint.myspaces.user.controller.UserBaseAction;
public class DocumentAction extends UserBaseAction{
private static int PAGE_LENGTH = 10;
static ResourceBundle prop = null;
static {
prop = ResourceBundle.getBundle("application_zh_CN");
try {
PAGE_LENGTH = Integer.parseInt(prop.getString("list.page.length"));
}
catch (Exception e) {
}
}
public ActionForward add(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
return mapping.findForward("add");
}
public ActionForward delete(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
String id = request.getParameter("docID");
Document doc = new Document();
doc.setId(id);
documentManager.delete(doc);
return new ActionForward("documentManager.do?action=listDo",true);//mapping.findForward("");
}
public ActionForward transmit(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
String docID = request.getParameter("id");
Document document = (Document)documentManager.load(docID);
request.setAttribute("Document",document);
return mapping.findForward("transmit");
//return new ActionForward("document/transmit.jsp?id="+docID,true);
//return mapping.findForward("transmit");
}
////===========================================////
public ActionForward save(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
try{
HttpSession session = request.getSession();
String beginUser = (String)session.getAttribute("username");
// 当上传文件超过限制时设定的临时文件位置
String tempPath = "C:\\TEMP";
// 设置最多只允许在内存中存储的数据,单位:字节
//private int sizeThreshold = 4096;
int sizeThreshold = 4096000;
// 设置允许用户上传文件大小,单位:字节
// 共10M
long sizeMax = 10*10485760;
Document doc = new Document();
String documentName = request.getParameter("documentName");
log.info(documentName);
String filePath = request.getSession().getServletContext().getRealPath("/uploadFiles");
File d = new File(filePath);
if(d.exists()){
}else{
d.mkdir();
}
DiskFileUpload fu = new DiskFileUpload();
/*
if (request.getCharacterEncoding() == null) {
fu.setHeaderEncoding("UTF-8");
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
} else {
*/
fu.setHeaderEncoding("GBK");
// System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+request.getCharacterEncoding());
//}
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(sizeThreshold);
// 设置允许用户上传文件大小,单位:字节
// 10M
fu.setSizeMax(sizeMax);
fu.setRepositoryPath(tempPath);
//开始读取上传信息
Iterator iter = null;
// 读取上传信息
try {
List fileItems = fu.parseRequest(request);
// 处理上传项目
// 依次处理每个上传的文件
iter = fileItems.iterator();
} catch (FileUploadException e) {
log.info("上传文件过大");
//e.printStackTrace();
log.info(e.getMessage());
}
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
// 上传的是文件信息
//String fieldName = item.getFieldName();
String name = item.getName();
if((name == null) || name.equals("") && item.getSize() == 0){
continue;
}
String fileName = this.GetFileName(name);
// fileName = new String(fileName.getBytes("ISO8859_1"),"utf-8");
setFileName(System.currentTimeMillis()+"-"+fileName);
try {
//FileOutputStream fos = new FileOutputStream(new File(this.destinationPath + fileName));
FileOutputStream fos = new FileOutputStream(new File(filePath +"/"+ getFileName() ));
InputStream uploadStream = item.getInputStream();
BufferedInputStream bis = new BufferedInputStream(uploadStream);
byte b[] = new byte[sizeThreshold];
int nRead;
while( (nRead = bis.read(b,0,sizeThreshold)) >0){
fos.write(b, 0, nRead);
}
uploadStream.close();
bis.close();
fos.close();
} catch (Exception e) {
//e.printStackTrace();
log.info(e.getMessage());
}
}else{
// 上传的是普通表单字域
String fieldName = item.getFieldName();
String name = item.getName();
//System.out.println(fieldName);
if(fieldName.equals("documentName")){
doc.setName(item.getString());
}
if(fieldName.equals("confirmName")){
doc.setEndUser(item.getString());
}
if((name == null) || name.equals("") && item.getSize() == 0){
continue;
}
}
}
doc.setBeginUser(beginUser);
doc.setFilename(fileName);
//doc.setUsername(request.getParameter("confirmName"));
doc.setStatus(0);
documentManager.saveDocument(doc);
}catch(Exception e){
generalError(request,e);
return mapping.findForward("failure");
}
return new ActionForward("documentManager.do?action=listDo",true);
}
//自己派发的合同
public ActionForward listDo(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
try{
HttpSession session = request.getSession();
String username = (String)session.getAttribute("username");
// int status = Integer.parseInt(request.getParameter("status"));
int offset;
int length=PAGE_LENGTH;
String pageOffset=request.getParameter("pager.offset");
if(pageOffset==null||pageOffset.equals("")){
offset=0;
}else{
offset=Integer.parseInt(pageOffset);
}
String url=request.getContextPath()+mapping.getPath()+".do?action=listDo";
List list = getDocumentManager().findDocumentList(offset,length,username);
List list2 = getDocumentManager().poVO(list);
int size = getDocumentManager().getAllDocumentNum(username);
String pagerHeader=PagerUtil.generate(offset,size,length,url);
request.setAttribute("pagerHeader",pagerHeader);
request.setAttribute("BASELIST",list2);
}catch(Exception e){
generalError(request,e);
return mapping.findForward("failure");
}
return mapping.findForward("list");
}
//得到别人派发 派发的合同
public ActionForward listDo2(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
try{
HttpSession session = request.getSession();
String username = (String)session.getAttribute("username");
// int status = Integer.parseInt(request.getParameter("status"));
int offset;
int length=PAGE_LENGTH;
String pageOffset=request.getParameter("pager.offset");
if(pageOffset==null||pageOffset.equals("")){
offset=0;
}else{
offset=Integer.parseInt(pageOffset);
}
String url=request.getContextPath()+mapping.getPath()+".do?action=listDo2";
List list = getDocumentManager().findDocumentListDo(offset,length,username);
List l = getDocumentManager().poVO(list);//poVO.
int size = getDocumentManager().getAllDocumentNum2(username);
String pagerHeader=PagerUtil.generate(offset,size,length,url);
request.setAttribute("pagerHeader",pagerHeader);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -