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

📄 u07tfileaction.java

📁 持久层hibernate技术使用的一个例子
💻 JAVA
字号:
package cn.hope.front.action;

import java.net.URLEncoder;
import java.util.Hashtable;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.upload.FormFile;
import org.apache.struts.upload.MultipartRequestHandler;
import org.apache.struts.validator.DynaValidatorForm;

import cn.hope.front.Constants;
import cn.hope.front.bo.U07TFileBO;
import cn.hope.front.bo.U07TFileType2BO;
import cn.hope.front.bo.U07TFileTypeBO;
import cn.hope.front.bo.U07TFileTypeCasCadeBO;
import cn.hope.front.form.validation.U07TFileFormValid;
import cn.hope.front.pojo.TFile;
import cn.hope.front.pojo.TFileType2;
import cn.hope.front.pojo.TInfo;
import cn.hope.front.pojo.U07CommonListVO;
import cn.hope.front.util.U07FileOperation;
import cn.hope.front.util.Utility;

public class U07TFileAction extends DispatchAction {
	Logger log = Logger.getLogger(U07TFileAction.class.getName());

	private U07TFileBO u07TFileBO = new U07TFileBO();

	public ActionForward insert(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionMessages errors = new ActionMessages();
		String realPath = this.getServlet().getServletContext()
				.getRealPath("/");
		String saveDir = "/upload/tfile/zhaogang/";
		String realSaveDir = realPath + saveDir;
		U07FileOperation U07FileOperation = new U07FileOperation();
		errors = U07TFileFormValid.checkErrors(form, request);
		if (errors.size() != 0) {
			saveErrors(request, errors);
			return mapping.findForward("errors");
		}
		try {
			DynaValidatorForm tFileForm = (DynaValidatorForm) form;
			MultipartRequestHandler mrh = tFileForm
					.getMultipartRequestHandler();
			Hashtable elements = mrh.getFileElements();
			FormFile file = (FormFile) elements.get("file");
			/** ********文件上传********** */
			U07FileOperation.mdir(realSaveDir);
			String fname = file.getFileName();
			Integer size = new Integer(file.getFileSize() / 1000);
			int i = fname.lastIndexOf(".");
			String fileexc = fname.substring(i).toLowerCase();
			/*
			 * Date date = new Date(); long lg = date.getTime(); String
			 * newfileNamex = lg + fileexc;
			 */
			fname = fname.substring(0, i);
			String newfileNamex = fname + fileexc;
			String saveURI = realSaveDir + newfileNamex;
			U07FileOperation u07FileOperation = new U07FileOperation();
			u07FileOperation.mdir(realSaveDir);
			u07FileOperation.doUpload(file, saveURI);
			/** ********数据录入********** */
			String dbSaveURI = saveDir + newfileNamex;
			TFile tFile = (TFile) tFileForm.get("tFile");
			TFileType2 tft2 = (TFileType2) tFileForm.get("tft2");// 得到TFileType2实体
			TInfo tInfo = new TInfo();
			tInfo.setTId("zhaogang");
			tFile.setTFileType2(tft2);
			tFile.setTfName(newfileNamex);
			tFile.setTInfo(tInfo);
			tFile.setTfTime(Utility.getCurDateTime());
			tFile.setTfPath(dbSaveURI);
			tFile.setTfSize(size);
			tFile.setFlag("0");
			tFile.setTfDtimes(new Integer(0));
			if (u07TFileBO.insert(tFile) > 0) {
				return mapping.findForward("success");
			}
		} catch (Exception e) {
			log.error(e);
			e.printStackTrace();
			errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
					"errors.u07exception"));
			saveErrors(request, errors);
			String a=e.toString();
			request.setAttribute("ename",a);
			request.setAttribute("exception",e.getStackTrace());
			return mapping.findForward("errorPage");
		}
		return mapping.findForward("errorPage");
	}

	public ActionForward search(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionMessages errors = new ActionMessages();
		DynaActionForm tFileForm = (DynaActionForm) form;
		TFile tFile = new TFile();
		U07CommonListVO cl_vo = new U07CommonListVO();
		int start = 0;
		boolean isEq = false;
		U07TFileTypeCasCadeBO u07TFileTypeCasCadeBO = new U07TFileTypeCasCadeBO();
		U07TFileTypeBO u07TFileTypeBO = new U07TFileTypeBO();
		U07TFileType2BO u07TFileType2BO = new U07TFileType2BO();
		try {
			tFile = (TFile) tFileForm.get("tFile");
			if (StringUtils.isNotEmpty(request.getParameter("start"))) {
				start = Integer.parseInt(request.getParameter("start"));
			}
			if (StringUtils.isNotEmpty(request.getParameter("isEq"))) {
				isEq = true;
			}
			cl_vo = u07TFileBO.serach(tFile, start, isEq);

			List tft1List = u07TFileTypeBO.serachAll();// 获得一级分类列表
			List tft2List = u07TFileType2BO.serachAll();// 获得二级分类列表
			String js = u07TFileTypeCasCadeBO.cascade(tft2List, "U07TFileForm",
					"tftSearch", "tft2Id");

			request.getSession().setAttribute("tft1List", tft1List);
			request.getSession().setAttribute("tft2List", tft2List);
			request.getSession().setAttribute("js", js);
			request.getSession().setAttribute(Constants.U07_SESSION_TFILELIST,
					cl_vo);
			return mapping.findForward("success");
		} catch (Exception e) {
			log.error(e);
			e.printStackTrace();
			errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
					"errors.u07exception"));
			saveErrors(request, errors);
			String a=e.toString();
			request.setAttribute("ename",a);
			request.setAttribute("exception",e.getStackTrace());
			return mapping.findForward("errorPage");
		}
	}

	public ActionForward download(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionMessages errors = new ActionMessages();
		String f_id = request.getParameter("f_id");
		if (StringUtils.isNotEmpty(f_id)) {
			try {
				Integer tfId = new Integer(f_id);
				TFile tf = u07TFileBO.download(tfId);
				if (tf != null) {
					String fName = tf.getTfName();
					/* 文件下载 */
					response.setContentType("application/x-download");// 设置为下载
					String filenamedownload = tf.getTfPath();// 即将下载的文件的相对路径
					String filenamedisplay = fName;// 下载文件时显示的文件保存名称
					filenamedisplay = URLEncoder.encode(filenamedisplay,
							"UTF-8");
					response.addHeader("Content-Disposition",
							"attachment;filename=" + filenamedisplay);

					RequestDispatcher dispatcher = this.getServlet()
							.getServletContext().getRequestDispatcher(
									filenamedownload);
					// RequestDispatcher dispatcher =
					// application.getRequestDispatcher(filenamedownload);
					if (dispatcher != null) {
						dispatcher.forward(request, response);
					}
					response.flushBuffer();
				} else {
					errors.add(ActionMessages.GLOBAL_MESSAGE,
							new ActionMessage("errors.fileNotExist"));
					saveErrors(request, errors);
					return mapping.findForward("errors");
				}

				return null;
			} catch (Exception e) {
				log.error(e);
				e.printStackTrace();
				errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
						"errors.u07exception"));
				saveErrors(request, errors);
				String a=e.toString();
				request.setAttribute("ename",a);
				request.setAttribute("exception",e.getStackTrace());
				return mapping.findForward("errorPage");
			}
		} else {
			errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
					"errors.fileNotExist"));
			saveErrors(request, errors);
			return mapping.findForward("errors");
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -