ruleaction.java

来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 108 行

JAVA
108
字号
/* 
 * Created on 2007-2-28
 * Last modified on 2007-12-20
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.controller.action;

import java.util.List;

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

import org.apache.log4j.Logger;

import com.yeqiangwei.club.param.RuleParameter;
import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.model.Forum;
import com.yeqiangwei.club.model.Rule;
import com.yeqiangwei.club.service.forum.ForumService;
import com.yeqiangwei.club.service.user.RuleService;
import com.yeqiangwei.club.util.BeanLocator;
import com.yeqiangwei.club.util.BeanUtils;
import com.yeqiangwei.club.util.MessageUtils;
import com.yeqiangwei.club.controller.form.RuleForm;
import com.yeqiangwei.club.controller.form.build.RuleBuild;
import com.yeqiangwei.club.exception.ClubException;
import com.yeqiangwei.club.view.model.RuleView;
import com.yeqiangwei.util.HttpServletUtils;
import com.yeqiangwei.util.ParamUtils;
import com.yeqiangwei.util.TypeChange;
import com.yeqiangwei.util.Validator;

public class RuleAction {
	
	private static final Logger logger = Logger.getLogger(RuleAction.class);
	
	public RuleAction(){

	}
	
	public void createOrUpdate(HttpServletRequest request,HttpServletResponse response){
		RuleForm ruleForm = new RuleBuild(request).building();
		Rule model = new Rule();
		String forward = "/club/admin/rules.jsp";
		try {
			BeanUtils.copyProperties(model,ruleForm);
			model.setGlobal(ruleForm.getGlobal());
			this.getRuleService().createOrUpdate(model);
			request.setAttribute("message",MessageUtils.getMessage("success"));
		} catch (ClubException e) {
			forward = "/club/admin/rule.jsp";
			logger.error(e.toString());
			request.setAttribute("message",e.toString());
		}
		request.setAttribute("RuleForm",ruleForm);
		String[] forumIds = request.getParameterValues("forumId");
		if(!Validator.isEmpty(forumIds)){
			for(int i=0; i<forumIds.length; i++){
				int forumId = TypeChange.stringToInt(forumIds[i]);
				Forum forum = this.getForumService().findById(forumId);
				try {
					forum.setRuleId(model.getRuleId());
					this.getForumService().update(forum);
				} catch (ClubException e) {
					request.setAttribute("message",e.toString());
				}
			}
		}
		HttpServletUtils.forward(request,response,forward);
	}
	
	public void delete(HttpServletRequest request,HttpServletResponse response){
		int ruleId = ParamUtils.getIntParameter(request,"ruleId",0);
		if(ruleId==0){
			request.setAttribute("message",MessageUtils.getMessage("error_param"));
		}else{
			try {
				Rule model = new Rule();
				model.setRuleId(ruleId);
				this.getRuleService().delete(model);
				request.setAttribute("message",MessageUtils.getMessage("success"));
			} catch (ClubException e) {
				logger.error(e.toString());
				request.setAttribute("message",e.toString());
			}
		}
		HttpServletUtils.forward(request,response,"rules.jsp");
	}
	
	@SuppressWarnings("unchecked")
	public List<RuleView> findAll(){
		RuleParameter param = new RuleParameter();
		List list  = (List) this.getRuleService().findByParameter(param);
		BeanUtils.copyProperties(list,BeanLocator.RULEVIEW);
		return list;
	}
	
	public RuleService getRuleService() {
		return ServiceWrapper.<RuleService>getSingletonInstance(ServiceLocator.RULE);
	}
	
	private ForumService getForumService() {
		return ServiceWrapper.<ForumService>getSingletonInstance(ServiceLocator.FORUM);
	}

}

⌨️ 快捷键说明

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