📄 bbsdiraction.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 + -