⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 documentaction.java

📁 软件工程资料
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -