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

📄 bbsdiraction.java

📁 EasyJF信息发布全部源代码!
💻 JAVA
字号:
package com.easyjf.bbs.action;

import java.util.Date;
import com.easyjf.util.CommUtil;
import com.easyjf.web.ActionContext;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;
import com.easyjf.web.tools.AbstractCmdAction;
import com.easyjf.bbs.business.*;
/**
*
* <p>Title:BBS栏目处理类</p>
* <p>Description: BBS目录的列表处理Action,使用EasyJWeb0.5.
* <br>通过继承com.easyjf.web.tools.AbstractCmdAction,实现简单的命令式Action处理,去除了复杂烦锁的if else语句</p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: www.easyjf.com</p>
* @author 蔡世友
* @version 1.0
*/
public class BBSDirAction extends AbstractCmdAction {
public Page doInit(WebForm form, Module module) {		
		return doMenu(form,module);
	}
/**
 * 显示菜单
 * @param form 
 * @param module
 * @return 菜单Page
 */
public Page doMenu(WebForm form,Module module)
{
	ActiveUser user=(ActiveUser)ActionContext.getContext().getSession().getAttribute("bbsuser");
	doQuery(form,module);	
	form.addResult("user",user);
	if(BBSRights.checkAdministrator(user))
	{
		form.addResult("administrator","1");
	}
	return module.findPage("menu");
}
/**
 * 增加新栏目
 * @param form
 * @param module
 * @return 目录编辑Page
 */
public Page doNew(WebForm form,Module module)
{
	ActiveUser user=(ActiveUser)ActionContext.getContext().getSession().getAttribute("bbsuser");
	if(!BBSRights.checkAdministrator(user))return new Page("popedomError","/bbs/norights.htm","page");
	form.addResult("vRTypeOptions",CommUtil.getSelectOptions(BBSDoc.vRTypeTitle,""));
	return module.findPage("edit");
}
/**
 * 目录列表
 * @param form
 * @param module
 * @return 列表Page
 */
public Page doList(WebForm form,Module module)
{
	ActiveUser user=(ActiveUser)ActionContext.getContext().getSession().getAttribute("bbsuser");
	if(!BBSRights.checkAdministrator(user))return new Page("popedomError","/bbs/norights.htm","page");
	return doQuery(form,module);
}
/**
 * 增选栏目添加操作
 * @param form
 * @param module
 * @return 添加成功返回列表Page,失败返回编辑Page
 */
public Page doAdd(WebForm form,Module module)
	{		
	ActiveUser user=getCurrentUser();
		BBSDir dir=(BBSDir)form.toPo(BBSDir.class);
		if(dir!=null)
		{
			//以下执行表单对象VO到PO转换的代码,在验证框架中可以省略
			dir.setSn(CommUtil.null2String(form.get("sn")));
			if(!BBSRights.checkRights(dir,"add",user))return new Page("popedomError","/bbs/norights.htm","page");
			if(BBSDir.readBySN(dir.getSn())!=null)
			{
				form.addResult("msg","栏目编号不能重复!");
				return module.findPage("edit");
			}
			/*
			dir.setTitle(CommUtil.null2String(form.get("title")));
			dir.setSn(CommUtil.null2String(form.get("sn")));
			dir.setIntro(CommUtil.null2String(form.get("intro")));
			dir.setManager(CommUtil.null2String(form.get("manager")));
			dir.setSubManager(CommUtil.null2String(form.get("subManager")));
			dir.setSequence(new Integer(CommUtil.null2Int(form.get("sequence"))));
			*/
			if(dir.getParentSn()!=null && (!dir.getParentSn().equals("")))//处理dirPath
			{
				BBSDir d1=BBSDir.readBySN(dir.getParentSn());
				if(d1!=null)dir.setDirPath(d1.getDirPath()+"@"+dir.getSn());
			}
			else dir.setDirPath("root@"+dir.getSn());
			dir.setInputTime(new Date());
			dir.setStatus(new Integer(0));
			boolean op=dir.save();
			if(op)
				{
				form.addResult("msg","栏目添加成功!");				
				}
			else
				{
				form.addResult("msg","栏目添加失败");				
				}
		}
		else
		{
			form.addResult("msg","所要修改的目录不存在!");
		}
		return doQuery(form,module);
		
	}
	/**
	 * 修改栏目操作
	 * @param form
	 * @param module
	 * @return 操作成功返回列表Page,失败返回编辑Page
	 */
	public Page doUpdate(WebForm form,Module module)
	{
		String cid=CommUtil.null2String(form.get("cid"));
		ActiveUser user=getCurrentUser();
		BBSDir dir=BBSDir.read(cid);
		if(dir!=null)
		{
			//在Action中检测权限			
			if(!BBSRights.checkRights(dir,"update",user))return new Page("popedomError","/bbs/norights.htm","page");
			//以下执行表单对象VO到PO转换的代码,在验证框架中可以省略
			form.toPo(dir);
			/*
			dir.setTitle(CommUtil.null2String(form.get("title")));
			dir.setIntro(CommUtil.null2String(form.get("intro")));
			dir.setManager(CommUtil.null2String(form.get("manager")));
			dir.setSubManager(CommUtil.null2String(form.get("subManager")));
			dir.setSequence(new Integer(CommUtil.null2Int(form.get("sequence"))));*/
			dir.save();			
		}
		else
		{
			form.addResult("msg","所要修改的目录不存在!");
		}
		return doQuery(form,module);		
	}
	/**
	 * 编辑数据,从持久层读取数据显示到VO层
	 * @param form
	 * @param module
	 * @return 返回编辑Page
	 */
	public Page doEdit(WebForm form,Module module)
	{
		String cid=CommUtil.null2String(form.get("cid"));
		ActiveUser user=getCurrentUser();
		BBSDir dir=BBSDir.read(cid);
		if(!BBSRights.checkRights(dir,"edit",user))return new Page("popedomError","/bbs/norights.htm","page");
		form.addPo(dir);
		form.addResult("vRTypeOptions",CommUtil.getSelectOptions(BBSDoc.vRTypeTitle,dir.getVrtype()));
		return module.findPage("edit");
	}	
	/**
	 * 目录删除操作,根据主键cid删除相应目录
	 * @param form
	 * @param module
	 * @return 返回目录列表页
	 */
	public Page doDel(WebForm form,Module module)
	{
		String cid=CommUtil.null2String(form.get("cid"));
		ActiveUser user=getCurrentUser();
		BBSDir dir=BBSDir.read(cid);		
		if(dir!=null)
		{
			if(!BBSRights.checkRights(dir,"del",user))return new Page("popedomError","/bbs/norights.htm","page");
			dir.del();
			form.addResult("msg","删除成功!");
		}
		return doQuery(form,module);		
	}
	/**
	 * 列出所有目录
	 * @param form
	 * @param module
	 * @return 返回列表Page
	 */
	public Page doQuery(WebForm form, Module module)
	{		
		String parentSn=(String)form.get("parentSn");
		if(parentSn!=null && (!parentSn.equals("")))
		{
			BBSDir dir=BBSDir.readBySN(parentSn);			
			if(dir!=null)form.addResult("list",dir.children());
		}
		else
		form.addResult("list",BBSUtil.listDir());				
		return module.findPage("list");	
	}
	/**
	 * 通过Session取得当前操作用户
	 * @return ActiveUser
	 */
	private ActiveUser getCurrentUser()
	{
		ActiveUser user=(ActiveUser)ActionContext.getContext().getSession().getAttribute("bbsuser");
		return user;
	}	
}

⌨️ 快捷键说明

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