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

📄 pollaction.java

📁 近几年来
💻 JAVA
字号:
package tarena.action;import java.util.ArrayList;import java.util.List;import java.util.Map;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;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.action.ActionMessage;import tarena.form.PollForm;import tarena.pojo.*;import tarena.util.ContextUtil;public class PollAction extends Action {	/**	 * 客户提交调查, 成功往application作用域的poll对象中加入对应的pollLine	 * 以及设置CLIENT_IP_MAP所代表map对象里对应客户端IP的value值为Boolean类型的true	 */	public ActionForward execute(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) {		ActionErrors errors = new ActionErrors();		ServletContext servletContext = request.getSession()				.getServletContext();		Map clientIPMap = (Map) servletContext				.getAttribute(ContextUtil.CLIENT_IP_MAP);		Boolean isPolled = (Boolean) clientIPMap.get(request.getRemoteAddr());		if (isPolled.booleanValue()) {			// 判断重复提交;			errors.add("error.doublepoll",					new ActionMessage("error.doublepoll"));		} else {			// 往poll对象里加入当前提交的pollLine对象			PollForm pollForm = (PollForm) form;			PollLine pollLine = createPollLine(pollForm);			Poll poll = (Poll) request.getSession().getServletContext()					.getAttribute(ContextUtil.POLL);			poll.getPollLineSet().add(pollLine);			pollLine.setPoll(poll);			// 设置CLIENT_IP_MAP所代表map对象里对应客户端IP的value值为Boolean类型的true			clientIPMap.put(request.getRemoteAddr(), new Boolean("true"));			errors.add("info.poll", new ActionMessage("info.poll"));		}		saveErrors(request.getSession(), errors);		return mapping.findForward("return");	}	private PollLine createPollLine(PollForm pollForm) {		List q1 = new ArrayList();		List q2 = new ArrayList();		PollLine pollLine = new PollLine();		pollLine.setC1(pollForm.getC1());		pollLine.setC2(pollForm.getC2());		pollLine.setC3(pollForm.getC3());		pollLine.setC4(pollForm.getC4());		pollLine.setC5(pollForm.getC5());		pollLine.setC6(pollForm.getC6());		pollLine.setC7(pollForm.getC7());		pollLine.setC8(pollForm.getC8());		pollLine.setC9(pollForm.getC9());		pollLine.setC10(pollForm.getC10());		pollLine.setC11(pollForm.getC11());		pollLine.setC12(pollForm.getC12());		pollLine.setC13(pollForm.getC13());		pollLine.setC14(pollForm.getC14());		if (!(pollForm.getQ11() == null || pollForm.getQ11().trim().length() < 1))			q1.add(pollForm.getQ11());		if (!(pollForm.getQ12() == null || pollForm.getQ12().trim().length() < 1))			q1.add(pollForm.getQ12());		if (!(pollForm.getQ13() == null || pollForm.getQ13().trim().length() < 1))			q1.add(pollForm.getQ13());		q2.add(pollForm.getQ21());		q2.add(pollForm.getQ22());		q2.add(pollForm.getQ23());		pollLine.setQ1(q1);		pollLine.setQ2(q2);		pollLine.setAvgScore(calAvgScore(pollLine));		pollLine.setIsValid(isValid(pollLine)?"y":"n");		return pollLine;	}		private double calAvgScore(PollLine pollLine) {		double avgScore = 0.0d;		avgScore += pollLine.getC1().doubleValue();		avgScore += pollLine.getC2().doubleValue();		avgScore += pollLine.getC3().doubleValue();		avgScore += pollLine.getC4().doubleValue();		avgScore += pollLine.getC5().doubleValue();		avgScore += pollLine.getC6().doubleValue();		avgScore += pollLine.getC7().doubleValue();		avgScore = Math.round(avgScore / 7 * 100) / 100.00;		return avgScore;	}	private boolean isValid(PollLine pollLine) {		boolean flag = true;		if (pollLine.getC1().doubleValue() <= 2.0				&& pollLine.getC2().doubleValue() <= 2.0				&& pollLine.getC3().doubleValue() <= 2.0				&& pollLine.getC4().doubleValue() <= 2.0				&& pollLine.getC5().doubleValue() <= 2.0				&& pollLine.getC6().doubleValue() <= 2.0				&& pollLine.getC7().doubleValue() <= 2.0)			flag = false;		return flag;	}	}

⌨️ 快捷键说明

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