?? 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 + -