?? bbsdocaction.java
字號:
package com.easyjf.bbs.action;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.easyjf.bbs.business.ActiveUser;
import com.easyjf.bbs.business.BBSDir;
import com.easyjf.bbs.business.BBSDoc;
import com.easyjf.bbs.business.UserInfo;
import com.easyjf.bbs.business.BBSRights;
import com.easyjf.bbs.business.BBSUtil;
import com.easyjf.bbs.business.PageList;
import com.easyjf.util.CommUtil;
import com.easyjf.util.HtmlUtil;
import com.easyjf.web.IWebAction;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;
import java.util.StringTokenizer;
/**
* 論壇文檔管理Action
* @author 蔡世友
*
*/
public class BBSDocAction implements IWebAction {
public Page execute(WebForm form, Module module,HttpServletRequest request, HttpServletResponse response) {
String method=CommUtil.null2String(form.get("easyJWebCommand"));
ActiveUser user=(ActiveUser)request.getSession().getAttribute("bbsuser");
Page forward=null;
System.out.println(method);
if(method.equals(""))
{
return doQuery(form,module,user);
}
else if("new".equals(method))
{
String sn=CommUtil.null2String(form.get("sn"));
BBSDir dir=BBSDir.readBySN(sn);
if(user==null)
{
form.addResult("msg","您沒有登錄,不能發表信息!");
return new Page("login","/bbs/login.html","template");
}
if(dir!=null)
{
form.addResult("dir",dir);
}
else
{
form.addResult("msg","目錄不存在,可能是地址鏈接錯誤!");
}
return module.findPage("edit");
}
else if("edit".equals(method))
{
forward=doEdit(form,module,user);
}
else if("show".equals(method))
{
forward=doShow(form,module,user);
}
else if("add".equals(method))
{
forward= doAdd(form,module,user);
}
else if("update".equals(method))
{
forward=doUpdate(form,module,user);
}
else if("setTopMessage".equals(method))
{
forward=doSetTopMessage(form,module,user);
}
else if("setEliteMessage".equals(method))
{
forward=doSetEliteMessage(form,module,user);
}
else if("lockDoc".equals(method))
{
}
else if("lockUser".equals(method))
{
}
else if("del".equals(method))
{
forward=doDel(form,module,user);
}
else if("eliteList".equals(method))
{
forward=doLastElite(form,module,user);
}
else if("lastElite".equals(method))
{
forward=doLastElite(form,module,user);
}
else if("list".equals(method))//顯示文章列表
{
forward=doQuery(form,module,user);
}
return forward;
}
private Page doAdd(WebForm form,Module module,ActiveUser user)
{
BBSDoc obj=new BBSDoc();
if(user!=null)
{
//在Action中檢測權限
obj.setTitle(CommUtil.null2String(form.get("title")));
obj.setDirSn(CommUtil.null2String(form.get("dirSn")));
if(!BBSRights.checkRights(obj,"add",user))return new Page("popedomError","/bbs/norights.htm","page");
obj.setTagPic(CommUtil.null2String(form.get("tagPic")));
obj.setContent(CommUtil.null2String(form.get("content")));
obj.setImgs(CommUtil.null2String(form.get("imgs")));
obj.setFiles(CommUtil.null2String(form.get("files")));
obj.setParentId(CommUtil.null2String(form.get("parentId")));
String quotId=CommUtil.null2String(form.get("quotId"));
if(!quotId.equals(""))//處理引用回復
{
BBSDoc quot=BBSDoc.read(quotId);
if(quot!=null)
{
String QuotoSs=(quot.getContent().length()>50?quot.getContent().substring(0,50)+"...":quot.getContent());
String QuotoS="[QUOTE]"+QuotoSs+"[/QUOTE]";
obj.setContent(QuotoS+obj.getContent());
}
}
boolean op=BBSUtil.publishMessage(user,obj);
//System.out.println(op);
if(op)
{
form.addResult("msg","信息發布成功!");
}
else
{
form.addResult("msg","信息發布失敗");
}
}
else
{
form.addResult("msg","您沒有登錄,不能發表文章!");
return new Page("login","/bbsuser.ejf","template");
}
return new Page("bbsList","/bbsdoc.ejf?easyJWebCommand=list&&sn="+obj.getDirSn(),"page");
}
private Page doUpdate(WebForm form,Module module,ActiveUser user)
{
String cid=CommUtil.null2String(form.get("cid"));
BBSDoc obj=BBSDoc.read(cid);
if(user!=null)
{
if(obj!=null)
{
//在Action中檢測權限
if(!BBSRights.checkRights(obj,"update",user))return new Page("popedomError","/bbs/norights.htm","page");
obj.setTitle(CommUtil.null2String(form.get("title")));
obj.setDirSn(CommUtil.null2String(form.get("dirSn")));
obj.setTagPic(CommUtil.null2String(form.get("tagPic")));
obj.setContent(CommUtil.null2String(form.get("content")));
obj.setImgs(CommUtil.null2String(form.get("imgs")));
obj.setFiles(CommUtil.null2String(form.get("files")));
obj.setParentId(CommUtil.null2String(form.get("parentId")));
obj.setModifyTime(new Date());
obj.update();
}
else
{
form.addResult("msg","所要修改的目錄不存在!");
}
}
else
{
form.addResult("msg","您沒有登錄,不能發表文章!");
return new Page("login","/bbsuser.ejf","template");
}
return new Page("bbsList","/bbsdoc.ejf?easyJWebCommand=list&&sn="+obj.getDirSn(),"page");
}
private Page doShow(WebForm form,Module module,ActiveUser user)
{
String cid=CommUtil.null2String(form.get("cid"));
int currentPage=CommUtil.null2Int(form.get("page"));
int pageSize=CommUtil.null2Int(form.get("pageSize"));
BBSDoc obj=BBSDoc.read(cid);
if(obj!=null)
{
if(currentPage<1)currentPage=1;
if(pageSize<1)pageSize=15;
BBSDir dir=BBSDir.readBySN(obj.getDirSn());
if(dir!=null)
{
form.addResult("dir",dir);
}
else
{
form.addResult("msg","目錄不存在,可能是地址鏈接錯誤!");
}
form.addResult("user",user);
//處理主題信息
form.addResult("cid",obj.getCid());
form.addResult("title",obj.getTitle());
form.addResult("content",HtmlUtil.getUBB2HTML(replaceEmotTag(HtmlUtil.escapeHTMLTag(obj.getContent()))));
form.addResult("inputUser",obj.getInputTime());
form.addResult("modifyTime",obj.getModifyTime());
if(obj.getTagPic()!=null && (!obj.getTagPic().equals("")))
form.addResult("tagPic",obj.getTagPic());
if(obj.getImgs()!=null && (!obj.getImgs().equals("")))
form.addResult("imgs",obj.getImgs());
form.addResult("files",obj.getFiles());
form.addResult("ip",obj.getIp());
if(user!=null)
{
if(BBSRights.checkRights(obj,"setTopMessage",user))//置頂
form.addResult("topMessage","true");
if(BBSRights.checkRights(obj,"setEliteMessage",user))//精華
form.addResult("eliteMessage","true");
if(BBSRights.checkRights(obj,"lockMessage",user))//鎖定
form.addResult("lockMessage","true");
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -