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

📄 tlinkaction.java

📁 数学网
💻 JAVA
字号:
package math.tlink.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;


import math.article.controller.ArticleForm;
import math.article.controller.SearchForm;
import math.article.dao.ArticleDAO;
import math.article.model.Article;
import math.tlink.dao.TlinkDAO;
import math.tlink.model.Tlink;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

public class TlinkAction extends Action {

	
	private org.apache.commons.logging.Log __log = LogFactory.getFactory()
	.getInstance(this.getClass());

		private DataSource ds = null;
		
		public ActionForward execute(ActionMapping actionMapping,
			ActionForm actionForm, HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) {
		
			ds = getDataSource(httpServletRequest);
		
			ActionForward myforward = null;
			String myaction = actionMapping.getParameter();
		// ds = getDataSource(httpServletRequest);
		if (isCancelled(httpServletRequest)) {
			if (__log.isInfoEnabled()) {
				__log.info(" [Tlink] " + actionMapping.getAttribute()
						+ " - action was cancelled");
			}
			return actionMapping.findForward("cancel");
		}
		
		if (__log.isInfoEnabled()) {
			__log.info(" [Tlink] action: " + myaction);
		}
		
		
		if ("".equalsIgnoreCase(myaction)) {
			myforward = actionMapping.findForward("failure");
		} else if ("TLINKADD".equalsIgnoreCase(myaction)) {
			myforward = performAdd(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		}else if ("TLINKUPDATE".equalsIgnoreCase(myaction)) {
			myforward = performUpdate(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		}else if ("TLINKDEL".equalsIgnoreCase(myaction)) {
			myforward = performDel(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		}else if ("TLINKLIST".equalsIgnoreCase(myaction)) {
			myforward = performList(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		}else if ("TLINKSAVE".equalsIgnoreCase(myaction)) {
			myforward = performSave(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		}else if ("TLINKSHOW".equalsIgnoreCase(myaction)) {
			myforward = performShow(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		}
		else {
			myforward = actionMapping.findForward("regerror");
		}
		return myforward;
	}
		
		private ActionForward performAdd(ActionMapping mapping,
				ActionForm actionForm, HttpServletRequest request,
				HttpServletResponse response) {

			try {
				
				TlinkDAO tlinkDAO = new TlinkDAO(ds);
				// 获得表单信息
				TlinkForm tlinkForm = (TlinkForm) actionForm;
				Tlink tlink = new Tlink();
				// 将tlinkForm中的值赋给tlink
				BeanUtils.populate(tlink, BeanUtils.describe(tlinkForm));
				
				String pic_path = "";
				if (tlinkForm.getTheFile().getFileName() == null
						|| tlinkForm.getTheFile().getFileName().equalsIgnoreCase("")) {
					pic_path = "";
				} else {
					if (actionForm instanceof TlinkForm) {

						ds = getDataSource(request);
						String encoding = request.getCharacterEncoding();
						if ((encoding != null)
								&& (encoding.equalsIgnoreCase("GB2312"))) {
							response.setContentType("text/html;charset=GB2312");
						}
						String Dir = "../webapps" + request.getContextPath()
								+ "/tlink_img";
						File dirName = new File(Dir);
						if (!dirName.exists()) {
							dirName.mkdirs();
						}

						String gs = tlinkForm.getGs();

						Date mydate = new Date();
						long picname = (long) mydate.getTime();

						pic_path = "tlink_img/" + picname + gs;

						FormFile file = tlinkForm.getTheFile();

						try {
							InputStream stream = file.getInputStream();
							OutputStream bos = new FileOutputStream(Dir + "/"
									+ picname + gs);
							int bytesRead = 0;
							byte[] buffer = new byte[8192];
							while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
								bos.write(buffer, 0, bytesRead);
							}
							bos.close();

							// close the stream
							stream.close();
						} catch (FileNotFoundException fnfe) {
							return null;
						} catch (IOException ioe) {
							return null;
						}

						// destroy the temporary file created
						file.destroy();
						
					}else{
						return mapping.findForward("failure");
					}

				}
				
				tlink.setTlink_image(pic_path);
				tlinkDAO.insert(tlink);
				return mapping.findForward("success");
			} catch (Exception e) {
				generalError(request, e);
				return mapping.findForward("failure");
			}

		}
		/////////////////////////////////////////////////////////////////////////
		
		private ActionForward performDel(ActionMapping mapping,
				ActionForm actionForm, HttpServletRequest request,
				HttpServletResponse response) {

			try {

				int id = 0;
				String str_id = request.getParameter("tlink_id");
				if (str_id != null && !str_id.equals("")) {
					id = Integer.parseInt(str_id);
				} else {
					return mapping.findForward("error");
				}
				TlinkDAO tlinkDAO = new TlinkDAO(ds);
				TlinkForm tlinkForm = (TlinkForm) actionForm;

				// 实例花Reg;
				Tlink tlink = new Tlink();
				// 将tlinkForm中的值赋给tlink
				BeanUtils.populate(tlink, BeanUtils.describe(tlinkForm));
				// 将tlink作为参数传给tlinkDAO中的delete函数
				//tlink.setTlink_id(id);
				tlinkDAO.delete(tlink);

				return mapping.findForward("success");
			} catch (Exception e) {
				generalError(request, e);
				return mapping.findForward("failure");
			}

		}
		
		///////////////////////////////////////////////////////////////////////////
		private ActionForward performUpdate(ActionMapping mapping,
				ActionForm actionForm, HttpServletRequest request,
				HttpServletResponse response) {

			try {
				
				TlinkDAO tlinkDAO = new TlinkDAO(ds);
				TlinkForm tlinkForm = (TlinkForm) actionForm;
				int id = 0;
				String str_id = request.getParameter("tlink_id");
				if (str_id != null && !str_id.equals("")) {
					id = Integer.parseInt(str_id);
				} else {
					return mapping.findForward("error");
				}
				// 实例花Reg;
				Tlink tlink = tlinkDAO.select(id);
				// 将Reg中的值赋给regForm
				BeanUtils.populate(tlinkForm, BeanUtils.describe(tlink));
				request.setAttribute("tlink", tlink);
				return mapping.findForward("success");
			} catch (Exception e) {
				generalError(request, e);
				return mapping.findForward("failure");
			}
		}
		/////////////////////////////////////////////////////////////////////////////
		private ActionForward performSave(ActionMapping mapping,
				ActionForm actionForm, HttpServletRequest request,
				HttpServletResponse response) {

			try {

				TlinkDAO tlinkDAO = new TlinkDAO(ds);
				// 获得表单信息
				TlinkForm tlinkForm = (TlinkForm) actionForm;
				String pic_path = "";
				if (actionForm instanceof TlinkForm) {

					ds = getDataSource(request);
					String encoding = request.getCharacterEncoding();
					if ((encoding != null) && (encoding.equalsIgnoreCase("GB2312"))) {
						response.setContentType("text/html;charset=GB2312");
					}
					String Dir = "../webapps" + request.getContextPath()
							+ "/tlink_img";
					File dirName = new File(Dir);
					if (!dirName.exists()) {
						dirName.mkdirs();
					}
					String gs = tlinkForm.getGs();

					Date mydate = new Date();
					long picname = (long) mydate.getTime();
					if (tlinkForm.getTheFile().getFileName() == null
							|| tlinkForm.getTheFile().getFileName()
									.equalsIgnoreCase("")) {
						pic_path = "";
					} else {
						pic_path = "tlink_img/" + picname + gs;
						FormFile file = tlinkForm.getTheFile();

						try {
							if (!tlinkForm.getTheFile().getFileName()
									.equalsIgnoreCase("")) {
								InputStream stream = file.getInputStream();


								OutputStream bos = new FileOutputStream(Dir + "/"
										+ picname + gs);
								
								int bytesRead = 0;
								byte[] buffer = new byte[8192];
								while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
									bos.write(buffer, 0, bytesRead);
								}
								bos.close();
								// close the stream
								stream.close();
							}
						} catch (FileNotFoundException fnfe) {
							return null;
						} catch (IOException ioe) {
							return null;
						}
						file.destroy();
					}
				
				Tlink tlink = new Tlink();
				// 将tlinkForm中的值赋给tlink
				BeanUtils.populate(tlink, BeanUtils.describe(tlinkForm));
				tlink.setTlink_image(pic_path);
				tlinkDAO.update(tlink);

				return mapping.findForward("success");
			}
			return mapping.findForward("failure");

		} catch (Exception e) {
			generalError(request, e);
			return mapping.findForward("failure");
		}
		}
		/////////////////////////////////////////////////////////////////////////////
		private ActionForward performList(ActionMapping mapping,
				ActionForm actionForm, HttpServletRequest request,
				HttpServletResponse response) {

			try {
				HttpSession session = request.getSession();
				String condition = "";
				TlinkDAO tlinkDAO = new TlinkDAO(ds);
				int offset;
				int length = 10;
				String pageOffset = request.getParameter("pager.offset");
					if (pageOffset == null || pageOffset.equals("")) {
						offset = 0;
						TlinkSearchForm searchForm = (TlinkSearchForm) actionForm;
						if (searchForm.getConditionid() == 1) {
							condition = "where tlink_name like '%"
									+ searchForm.getCondition() + "%'";
						} else if (searchForm.getConditionid() == 0) {
							if (searchForm.getCondition() == null)
								condition = "";
							else
								condition = "where tlink_name like '%"
										+ searchForm.getCondition()
										+ "%'";
						}
						session.setAttribute("CONDITION", condition);
					} else {
						offset = Integer.parseInt(pageOffset);
						condition = (String) session.getAttribute("CONDITION");
						if (condition == null) {
							condition = "";
						}
					}
					List tlinklist = (List) tlinkDAO.list(offset, length,
							condition);
					int size = tlinkDAO.getSize("tlink", condition);
					String url = request.getContextPath() + mapping.getPath()
							+ ".do";
					String pagerHeader = math.util.Pager.generate(offset, size,
							length, url);
					request.setAttribute("pagerHeader", pagerHeader);
					request.setAttribute("LIST", tlinklist);
					//request.setAttribute("articletype1", tlinklist);

					return mapping.findForward("success");
			}
			catch (Exception e) {
				generalError(request, e);
				return mapping.findForward("failure");
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		
		private ActionForward performShow(ActionMapping mapping,
				ActionForm actionForm, HttpServletRequest request,
				HttpServletResponse response) {

			try {
				HttpSession session = request.getSession();
				TlinkDAO tlinkDAO = new TlinkDAO(ds);
				int id = 0;
				String str_id = request.getParameter("tlink_id");
				if (str_id != null && !str_id.equals("")) {
					id = Integer.parseInt(str_id);
				} else {
					return mapping.findForward("error");
				}
				// 实例花Reg;
				Tlink tlink = tlinkDAO.select(id);
				session.setAttribute("tlink", tlink);
				// 将reg作为参数传给RegDAO中的insert函数
				return mapping.findForward("success");
			} catch (Exception e) {
				generalError(request, e);
				return mapping.findForward("failure");
			}

		}
		
		
		////////////////////////////////////////////////////////////////////////////
//		private void sqlNullError(HttpServletRequest request, int result) {
//			ActionErrors errors = new ActionErrors();
//			if (result == 1) {
//				errors.add("reg", new ActionError("error.reg.exist"));
//			}
//			if (result == 2) {
//				errors.add("wrong", new ActionError("error.reg.pass"));
//			}
//			if (result == 3) {
//				errors.add("relogin", new ActionError("error.reg.relogin"));
//			}
//			saveErrors(request, errors);
//			if (__log.isErrorEnabled()) {
//				__log.error(" [Reg] has not found - " + result);
//			}
//		}

		private void generalError(HttpServletRequest request, Exception e) {
			ActionErrors aes = new ActionErrors();
			aes.add(aes.GLOBAL_ERROR, new ActionError("error.general", e
					.getMessage()));
			saveErrors(request, aes);
			e.printStackTrace();
			if (__log.isErrorEnabled()) {
				__log.error(" [Tlink] Error - " + e.getMessage());
			}
		}
		
}

⌨️ 快捷键说明

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