📄 bbsaction.java
字号:
String sql="insert into tb_bbs values(?,?,?,?,?,?,?,?,?,?,?)";
Object[] params={boardId,bbsTitle,bbsContent,bbsSender,bbsSendTime,bbsFace,bbsOpTime,bbsIsTop,bbsToTopTime,bbsIsGood,bbsToGoodTime};
ActionMessages messages=new ActionMessages();
OpDB myOp=new OpDB();
int i=myOp.OpUpdate(sql,params);
if(i<=0){
System.out.println("发表帖子失败!");
messages.add("userOpR",new ActionMessage("luntan.bbs.add.E"));
saveErrors(request,messages);
return mapping.findForward("error");
}
else{
System.out.println("发表帖子成功!");
session.setAttribute("currentP","1");
messages.add("userOpR",new ActionMessage("luntan.bbs.add.S"));
bbsForm.clear();
saveErrors(request,messages);
return mapping.findForward("success");
}
}
}
/** 回复帖子 */
public ActionForward answerBbs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
HttpSession session=request.getSession();
BbsAnswerForm bbsAnswerForm=(BbsAnswerForm)form;
String rootId=(String)session.getAttribute("bbsId");
String bbsTitle=Change.HTMLChange(bbsAnswerForm.getBbsAnswerTitle());
String bbsContent=Change.HTMLChange(bbsAnswerForm.getBbsAnswerContent());
String bbsSender=((UserForm)session.getAttribute("logoner")).getUserName();
String bbsSendTime=Change.dateTimeChange(new Date());
String bbsFace=bbsAnswerForm.getBbsFace();
String sql="insert into tb_bbsAnswer values(?,?,?,?,?,?)";
Object[] params=new Object[6];
params[0]=rootId;
params[1]=bbsTitle;
params[2]=bbsContent;
params[3]=bbsSender;
params[4]=bbsSendTime;
params[5]=bbsFace;
ActionMessages messages=new ActionMessages();
String forwardPath="";
OpDB myOp=new OpDB();
int i=myOp.OpUpdate(sql, params);
if(i<=0){
System.out.println("回复帖子失败!");
forwardPath="error";
messages.add("userOpR",new ActionMessage("luntan.bbs.answerR.E"));
}
else{
System.out.println("回复帖子成功!");
forwardPath="success";
messages.add("userOpR",new ActionMessage("luntan.bbs.answerR.S"));
bbsAnswerForm.clear();
}
saveErrors(request,messages);
return mapping.findForward(forwardPath);
}
/** 将帖子提前
* @throws UnsupportedEncodingException */
public ActionForward toFirstBbs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException{
HttpSession session=request.getSession();
UserForm logoner=(UserForm)session.getAttribute("logoner");
String bbsId=request.getParameter("bbsId"); //获取被提前帖子的ID
String bbsSender=request.getParameter("bbsSender"); //获取被提前帖子的发布者
bbsSender=new String(bbsSender.getBytes("ISO-8859-1"));
String time=Change.dateTimeChange(new Date()); //获取操作时间
String lognerAble=logoner.getUserAble(); //获取当前登录用户的权限
String lognerName=logoner.getUserName(); //获取当前登录用户的用户名
String master=(String)session.getAttribute("boardMaster"); //获取当前版面的斑竹
if(bbsId==null)
bbsId="-1";
if(bbsSender==null)
bbsSender="";
String forwardPath="";
ActionMessages messages=new ActionMessages();
/* 如果当前登录的用户是帖子的发表者、帖子所属版面的斑竹、管理员 */
if(lognerAble.equals("2")||lognerName.equals(master)||lognerName.equals(bbsSender)){
if(bbsId!=null&&!bbsId.equals("")){
Object[] params={time,bbsId};
String sql="update tb_bbs set bbs_opTime=? where bbs_id=?";
OpDB myOp=new OpDB();
int i=myOp.OpUpdate(sql,params);
if(i<=0){
System.out.println("提前帖子失败");
forwardPath="error";
messages.add("userOpR",new ActionMessage("luntan.bbs.first.E"));
}
else{
System.out.println("提前帖子成功!");
forwardPath="success";
messages.add("userOpR",new ActionMessage("luntan.bbs.first.S"));
}
}
else{
forwardPath="error";
}
}
else{
System.out.println("您没有权限提前该帖子!");
forwardPath="error";
messages.add("userOpR",new ActionMessage("luntan.bbs.first.N"));
}
saveErrors(request,messages);
return mapping.findForward(forwardPath);
}
/** 删除根帖
* @throws UnsupportedEncodingException */
public ActionForward deleteRootBbs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException{
HttpSession session=request.getSession();
UserForm logoner=(UserForm)session.getAttribute("logoner");
String bbsId=request.getParameter("bbsId"); //获取要删除帖子的ID
String bbsSender=request.getParameter("bbsSender"); //获取要删除帖子的发布者
bbsSender=new String(bbsSender.getBytes("ISO-8859-1"));
String lognerAble=logoner.getUserAble(); //获取当前登录用户的权限
String lognerName=logoner.getUserName(); //获取当前登录用户的用户名
String master=(String)session.getAttribute("boardMaster"); //获取当前斑竹
if(bbsId==null)
bbsId="-1";
if(bbsSender==null)
bbsSender="";
ActionMessages messages=new ActionMessages();
//如果当前登录的用户是帖子的发表者、帖子所属版面的斑竹、管理员
if(lognerAble.equals("2")||lognerName.equals(master)||lognerName.equals(bbsSender)){
if(bbsId!=null&&!bbsId.equals("")){
String sql="delete tb_bbs where bbs_id=?";
Object[] params={bbsId};
OpDB myOp=new OpDB();
int i=myOp.OpUpdate(sql,params);
if(i<=0){
System.out.println("删除出错!");
messages.add("userOpR",new ActionMessage("luntan.bbs.deleteRoot.E"));
saveErrors(request,messages);
}
else{ //删除成功后,要返回列表显示根帖的页面,该页面有:查看某版面下所有根帖的页面、查看我的帖子的页面、查看精华帖子的页面
System.out.println("删除成功!");
messages.add("userOpR",new ActionMessage("luntan.bbs.deleteRoot.S"));
saveErrors(request,messages);
ActionForward forward=new ActionForward("/"+session.getAttribute("servletPath")+"?method="+session.getAttribute("method")); //因为返回的页面存在以上三种情况,所以返回的视图要在程序中动态指定
return forward;
}
}
return mapping.findForward("error");
}
else{
System.out.println("您没有权限删除该帖子!");
messages.add("userOpR",new ActionMessage("luntan.bbs.deleteRoot.N"));
saveErrors(request,messages);
return mapping.findForward("error");
}
}
/** 查看帖子的发表者的详细信息 */
public ActionForward getUserSingle(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
HttpSession session=request.getSession();
String userName=request.getParameter("userName");
if(userName==null)
userName="";
try {
userName=new String(userName.getBytes("ISO-8859-1"),"gb2312");
} catch (UnsupportedEncodingException e) {
userName="";
e.printStackTrace();
}
ActionMessages messages=new ActionMessages();
String forwardPath="";
String sql="select * from tb_user where user_name=?";
Object[] params={userName};
OpDB myOp=new OpDB();
UserForm bbsUser=myOp.OpUserSingleShow(sql, params);
if(bbsUser==null){
System.out.println("查看帖子的发表者失败!");
forwardPath="error";
messages.add("userOpR",new ActionMessage("luntan.bbs.sender.E"));
}
else{
System.out.println("查看帖子的发表者成功!");
forwardPath="success";
session.setAttribute("bbsUserSingle",bbsUser);
session.setAttribute("mainPage","/pages/show/user/bbsUserSingle.jsp");
}
saveErrors(request,messages);
return mapping.findForward(forwardPath);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -