cpbusinesslistaction.java

来自「这个是完整的wap项目的源码 开发语言 Java 系统架构 Struts +」· Java 代码 · 共 175 行

JAVA
175
字号
package com.longtime.wap.module.business.web.action;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;

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

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.web.struts.DispatchActionSupport;

import com.longtime.wap.common.WapConstant;
import com.longtime.wap.model.Cp;
import com.longtime.wap.module.business.service.BusinessService;

/**
 * 处理列表页请求
 * 
 * @author gengb
 * @date Nov 19, 2007
 */
public class CpBusinessListAction extends DispatchActionSupport {
	private static final Log LOGGER = 
		LogFactory.getLog(CpBusinessListAction.class);
	private BusinessService businessService;

	/**
	 * 注入服务对象
	 * 
	 * @param businessService
	 *            服务对象
	 */
	public void setBusinessService(BusinessService businessService) {
		this.businessService = businessService;
	}

	/**
	 * 处理列表页请求
	 * 
	 * @param mapping
	 *            ActionMapping对象
	 * @param form
	 *            ActionForm对象
	 * @param request
	 *            HttpServletRequest对象
	 * @param response
	 *            HttpServletResponse对象
	 * @return ActionForward对象
	 */
	@SuppressWarnings("finally")
	public ActionForward listCpBusiness(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		List<String> message = new ArrayList<String>();
		String cpId = request.getParameter("cpId");
		if(!"yes".equals(request.getParameter("reset"))) {
			request.getSession().setAttribute("cpId", cpId);	
		} else {
			cpId = request.getSession().getAttribute("cpId").toString();
		}
		String forward = "listCpBusiness";
		try {
			if ("".equals(cpId) || null == cpId) {
				message.add("该cp不存在!");
				if (request.getAttribute(
						WapConstant.WAP_GLOBAL_MESSAGES) != null) {
					request.removeAttribute(WapConstant.WAP_GLOBAL_MESSAGES);
				}
				request.setAttribute(WapConstant.WAP_GLOBAL_MESSAGES, message);
				// return mapping.findForward("cpList");
				forward = "cpList";
			} else {
				List businessList = (List) businessService
						.getBusinessesByCpId(Long.parseLong(cpId));
				if (businessList.size() > 0) {
					request.setAttribute("businessList", businessList);
					request.setAttribute("cp", businessService.getCpByCpId(Long
							.parseLong(cpId)));
				} else {
					message.add("该cp没有业务");
					if (request.getAttribute(
							WapConstant.WAP_GLOBAL_MESSAGES) != null) {
						request.removeAttribute(
								WapConstant.WAP_GLOBAL_MESSAGES);
					}
					request.setAttribute(WapConstant.WAP_GLOBAL_MESSAGES,
							message);
					forward = "cpList";
				}

			}
		} catch (Exception e) {
			message.add("获取该cp的业务列表失败!");
			forward = "cpList";
		} finally {
			if (request.getAttribute(WapConstant.WAP_GLOBAL_MESSAGES) 
					!= null) {
				request.removeAttribute(WapConstant.WAP_GLOBAL_MESSAGES);
			}
			request.setAttribute(WapConstant.WAP_GLOBAL_MESSAGES, message);
			return mapping.findForward(forward);
		}

	}

	/**
	 * 处理更新请求
	 * 
	 * @param mapping
	 *            ActionMapping对象
	 * @param form
	 *            ActionForm对象
	 * @param request
	 *            HttpServletRequest对象
	 * @param response
	 *            HttpServletResponse对象
	 * @return ActionForward对象
	 */
	@SuppressWarnings("finally")
	public ActionForward saveCpBusiness(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String forward = "cpList";
		try {
			String cpId = request.getSession().getAttribute("cpId").toString();
			request.setAttribute("cp", (Cp) businessService.getCpByCpId(Long
					.valueOf(cpId)));
			request.setAttribute("businessList", businessService
					.getBusinessesByCpId(Long.valueOf(cpId)));
			List<String> message = new ArrayList<String>();
			String[] businessIds = request.getParameterValues("businessIds");
			String[] durations = request.getParameterValues("durations");
			boolean state = isValidNumic(durations);		
			if (true == state) {
				businessService.saveBusinessesDuration(businessIds, durations);
				message.add("更新业务成功!");
			} else {
				message.add("业务时效必须为非负数字,范围是0-999,请重新输入!");
				forward = "listCpBusiness";
			}
			if (request.getAttribute(WapConstant.WAP_GLOBAL_MESSAGES) 
					!= null) {
				request.removeAttribute(WapConstant.WAP_GLOBAL_MESSAGES);
			}
			request.setAttribute(WapConstant.WAP_GLOBAL_MESSAGES, message);
		} catch (Exception ex) {
			LOGGER.error(ex);
			ex.printStackTrace();
		}
		return mapping.findForward(forward);
	}
	
	/**
	 * 判断输入的时限内容是否符合格式
	 * 
	 * @param durations
	 * 			输入内容格式
	 * @return 是否符合格式
	 */
	private boolean isValidNumic(String[] durations) {
		boolean tag = true;
		Pattern pattern = Pattern.compile("[0-9]{1,3}");
		for(int i = 0; i < durations.length; i++) {
			if(!pattern.matcher(durations[i]).matches()) {				
				tag = false;
				break;
			}
		}
		return tag;
	}
}

⌨️ 快捷键说明

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