?? 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 + -