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

📄 onlineaskaction.java

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

import java.sql.SQLException;
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.onlineask.dao.OnlineAskDAO;
import math.onlineask.model.OnlineAsk;
import math.util.Pager;

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;

public class OnlineAskAction 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();
	
		if (isCancelled(httpServletRequest)) {
			if (__log.isInfoEnabled()) {
				__log.info(" [Article] " + actionMapping.getAttribute()
						+ " - action was cancelled");
			}
			return actionMapping.findForward("cancel");
		}

		if (__log.isInfoEnabled()) {
			__log.info(" [Article] action: " + myaction);
		}
		if ("".equalsIgnoreCase(myaction)) {
			myforward = actionMapping.findForward("failure");
		} else if ("ASKADD".equalsIgnoreCase(myaction)) {
			myforward = performAdd(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		}else if ("ASKRADD".equalsIgnoreCase(myaction)) {
			myforward = performRAdd(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		} else if ("ASKLIST".equalsIgnoreCase(myaction)) {
			myforward = performList(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		} else if ("ASKSELECT".equalsIgnoreCase(myaction)) {
			myforward = performSelect(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		} else if ("ASKUPDATE".equalsIgnoreCase(myaction)) {
			myforward = performUpdate(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		} 
		else if ("ASKSHOWSELECT".equalsIgnoreCase(myaction)) {
		myforward = performShowSelect(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		} 
		else if ("ASKDELETE".equalsIgnoreCase(myaction)) {
			myforward = performDelete(actionMapping, actionForm,
					httpServletRequest, httpServletResponse);
		} else {
			myforward = actionMapping.findForward("regerror");
		}
		return myforward;

	}

	private ActionForward performRAdd(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
		OnlineAskInsertForm form = (OnlineAskInsertForm) actionForm;
		
		try{
		BeanUtils.populate(form, BeanUtils.describe(httpServletRequest.getSession().getAttribute("temp")));
		return actionMapping.findForward("success");
		}catch(Exception e){
			e.printStackTrace();
			return actionMapping.findForward("");
		}
		
			
				
	}

	private ActionForward performShowSelect(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
		int id=Integer.parseInt(httpServletRequest.getParameter("id"));
		OnlineAskDAO dao = new OnlineAskDAO(ds);
		OnlineAsk ask=dao.askShowSelect(id);
		httpServletRequest.getSession().setAttribute("Asks", ask);
		return actionMapping.findForward("success");

	}
	private ActionForward performList(ActionMapping mapping,
			ActionForm actionForm, HttpServletRequest request,
			HttpServletResponse response) {
		// AskForm form = (AskForm) actionForm;
		try {
			OnlineAskDAO dao = new OnlineAskDAO(ds);
			HttpSession session = request.getSession();
			int temp1 = 0;
			int temp;
			int offset;
			int length = 10;
			String condition="";
			String condition2 = "";
			String condition1 = "";
			String pagerOffset = request.getParameter("pager.offset");
			if (pagerOffset == null || pagerOffset.equals("")) {
				offset = 0;
               OnlineAskSelectForm form=(OnlineAskSelectForm) actionForm;
               if(form.getAskVip()==null ||form.getAskVip().equals("")){
            	   condition1= "";
               }else{
            	   temp=Integer.parseInt(form.getAskVip());
            	   condition1="where vip="+temp+"";
               }
               if(form.getDifficulty()==null||form.getDifficulty().equals("")){
            	   condition2 = "";
               }else{
            	   temp1=Integer.parseInt(form.getDifficulty());
            	   condition2="where difficulty="+temp1+"";
               }
            	if(condition1.equals("")){
            		condition=condition2;
            	}
                if(condition2.equals("")){
                	condition=condition1;
                }else{
                	condition+=condition1;
                	condition+="and difficulty="+temp1+"";
                }
            	
               session.setAttribute("CONDITION", condition);
			} else {
				offset = Integer.parseInt(pagerOffset);
				condition = (String) session.getAttribute("CONDITION");
				if (condition == null) {
					condition = "";
				}
			}
			List asklist = dao.askList(offset, length, condition);

			int size = dao.getSize("ask_answer", condition);
			String url = request.getContextPath() + mapping.getPath() + ".do";
			String pagerHeader = Pager.generate(offset, size, length, url);
			request.setAttribute("pagerHeader", pagerHeader);
			request.setAttribute("LIST", asklist);
			OnlineAsk ask=new OnlineAsk();
			session.setAttribute("qwe", ask);
			return mapping.findForward("success");
		} catch (SQLException e) {

			generalError(request, e);
			return mapping.findForward("failure");
		}

	}
	
	private ActionForward performDelete(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
		int id = Integer.parseInt(httpServletRequest.getParameter("id"));
		OnlineAskDAO dao = new OnlineAskDAO(ds);
		dao.askDelete(id);
		return actionMapping.findForward("success");
	}

	/**
	 * ��ݻ�õ�id�鴦������ӵ�Form�?��
	 * */
	private ActionForward performSelect(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
		int id=Integer.parseInt(httpServletRequest.getParameter("id"));
		OnlineAskDAO dao = new OnlineAskDAO(ds);
		OnlineAsk ask=dao.askSelect(id);
		OnlineAskUpdateForm form = (OnlineAskUpdateForm)actionForm;
		try
		{BeanUtils.populate(form, BeanUtils.describe(ask));
		return actionMapping.findForward("success");
		}catch(Exception e){
			e.printStackTrace();
		return actionMapping.findForward("");
		}
		
	}

	private ActionForward performUpdate(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
		OnlineAskDAO dao = new OnlineAskDAO(ds);
		OnlineAsk ask = new OnlineAsk();
		OnlineAskUpdateForm form = (OnlineAskUpdateForm)actionForm;
		try{
			BeanUtils.populate(ask, BeanUtils.describe(form));
			dao.askUpdate(ask);
		return actionMapping.findForward("success");
		}catch(Exception e)
		{e.printStackTrace();
		return actionMapping.findForward("");
		}
		
		
	}
	


	private ActionForward performAdd(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {

		OnlineAskInsertForm form = (OnlineAskInsertForm) actionForm;
		OnlineAskDAO dao = new OnlineAskDAO(ds);
		OnlineAsk ask = new OnlineAsk();
		try {
			BeanUtils.populate(ask, BeanUtils.describe(form));
			//httpServletRequest.getSession().setAttribute("temp", ask);
				dao.askInsert(ask);
				String url="";
				//String url =actionMapping.getPath()+".do?";	
				url+="answer="+ask.getAnswer()+"&&award=" +ask.getAward()+"&&difficulty=" +ask.getDifficulty()+"&&type=" +ask.getType() +"&&vip="+ask.getVip();
				httpServletRequest.setAttribute("rl", url);
				return actionMapping.findForward("success");

		} catch (Exception e) {

			e.printStackTrace();
			return actionMapping.findForward("");
		}
	}
	
	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(" [Forum] Error - " + e.getMessage());
		}
	}
	
}

⌨️ 快捷键说明

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