📄 articleaction.java
字号:
package com.test.bbs.web.action;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.test.bbs.domain.Reply;
import com.test.bbs.domain.Subject;
import com.test.bbs.domain.User;
import com.test.bbs.service.ArticleService;
import com.test.bbs.service.impl.Page;
public class ArticleAction extends DispatchAction {
//修改帖子信息
public ActionForward del(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
this.checkLogin(request);
String s = request.getParameter("id");
Integer id = Integer.parseInt(s);
String type = request.getParameter("type");
if ("subject".equals(type)) {
this.getArticleService().delSubject(this.getLoginUser(request), id);
response.sendRedirect("/bbs/Index.do");
return null;
}
if ("reply".equals(type)) {
Reply reply = this.getArticleService().delReply(
this.getLoginUser(request), id);
response.sendRedirect("/bbs/Article.do?m=show&id="
+ reply.getSubject().getId());
return null;
}
throw new ServletException("参数'" + type + "'不能识别");
}
//回复帖子
public ActionForward reply(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
this.checkLogin(request);
String s = request.getParameter("subjectId");
Integer id = Integer.parseInt(s);
Subject subject = this.getArticleService().getSubject(id);
Reply reply = new Reply();
reply.setAuthor(this.getLoginUser(request));
reply.setContent(request.getParameter("content"));
reply.setIssueDate(new Date());
reply.setSubject(subject);
this.getArticleService().addReply(reply);
response.sendRedirect("/bbs/Article.do?m=show&id=" + id);
return null;
}
//
public ActionForward show(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String s = request.getParameter("id");
Integer id = Integer.parseInt(s);
Subject subject = this.getArticleService().getSubject(id);
request.setAttribute("subject", subject);
int pageNo = 1;
s = request.getParameter("pageNo");
if (s != null && s.length() > 0)
pageNo = Integer.parseInt(s);
int pageSize = 10;
s = request.getParameter("pageSize");
if (s != null && s.length() > 0)
pageSize = Integer.parseInt(s);
Page page = this.getArticleService().getPage(subject, pageNo, pageSize);
request.setAttribute("page", page);
return mapping.findForward("show");
}
//发帖子
public ActionForward subject(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
this.checkLogin(request);
String a = request.getParameter("a");
if ("exe".equals(a)) {
Subject subject = new Subject();
subject.setAuthor(this.getLoginUser(request));
subject.setContent(request.getParameter("content"));
subject.setIssueDate(new Date());
subject.setReplyCount(0);
subject.setReplyDate(new Date());
subject.setTitle(request.getParameter("title"));
this.getArticleService().addSubject(subject);
response.sendRedirect("/bbs/Article.do?m=show&id="
+ subject.getId());
return null;
}
return mapping.findForward("subject");
}
private void checkLogin(HttpServletRequest request) throws ServletException {
User user = this.getLoginUser(request);
if (user == null)
throw new ServletException("请登陆");
}
private User getLoginUser(HttpServletRequest request) {
HttpSession session = request.getSession(false);
User user = null;
if (session != null)
user = (User) session.getAttribute("login_user");
return user;
}
private ArticleService getArticleService() {
return (ArticleService) this.getServlet().getServletContext()
.getAttribute(ArticleService.class.getName());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -