package edu.sjtu.infosec.ismp.manager.SYSM.bbs.web.actions; import java.io.IOException; import java.sql.Timestamp; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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 edu.sjtu.infosec.ismp.manager.SYSM.bbs.model.Questions; import edu.sjtu.infosec.ismp.manager.SYSM.bbs.service.QuestionsService; import edu.sjtu.infosec.ismp.manager.SYSM.user.self.comm.SecurityUserHolder; import edu.sjtu.infosec.ismp.manager.SYSM.user.self.service.UserService; import edu.sjtu.infosec.ismp.manager.VPM.pm.comm.HtmlFactory; import edu.sjtu.infosec.ismp.manager.VPM.pm.comm.PMPage; import edu.sjtu.infosec.ismp.security.IdEntity; import edu.sjtu.infosec.ismp.security.OperatorDetails; import edu.sjtu.infosec.ismp.security.User; public class BBSPublishAction extends DispatchAction { /** * @return the questionsService */ public QuestionsService getQuestionsService() { return questionsService; } /** * @param questionsService the questionsService to set */ public void setQuestionsService(QuestionsService questionsService) { this.questionsService = questionsService; } private QuestionsService questionsService; /** * @param userService the userService to set */ public void setUserService(UserService userService) { this.userService = userService; } private UserService userService; /** * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward findAnswersAll(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { try { PMPage page = new PMPage(); String curpage = request.getParameter("currPage") != null && (!request.getParameter("currPage").equals("")) ? request .getParameter("currPage") : "1"; page.setCurrentPage(Integer.parseInt(curpage)); page.setBeginIndex((page.getCurrentPage() - 1) * page.getEveryPage()); List<Questions> lists = questionsService.findAll(page); request.setAttribute("page", page.getPageInfo()); request.setAttribute("currPage", page.getPageInfo().getCurrentPage()); request.setAttribute("totalPage", page.getPageInfo().getTotalPage()); // System.out.println(user.getId()); // System.out.println(user.getUsername()); request.setAttribute("questions", lists); } catch (Exception e) { e.printStackTrace(); } return mapping.findForward("index"); } public ActionForward addAnswers(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { try { OperatorDetails userDetails = SecurityUserHolder.getCurrentUser(); User user =userService.getUserinfoByNameService(userDetails.getUsername()); Questions questions = new Questions(); String title = request.getParameter("title"); String context = request.getParameter("contextDetails"); System.out.println(context); questions.setIp(request.getLocalAddr()); questions.setQ_details(context); questions.setQ_title(title); questions.setSender(user); questions.setCreateTime(new Timestamp(new Date().getTime())); questionsService.add(questions); //List<Questions> lists = questionsService.findAll(); // request.setAttribute("questions", lists); } catch (Exception e) { e.printStackTrace(); } return findAnswersAll(mapping,null,request,response); } public ActionForward detailAnswers(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { try { String flag = request.getParameter("flag"); String id = request.getParameter("id"); if(HtmlFactory.isNotEmpty(id) && HtmlFactory.isNotEmpty(flag)){ Questions questions = questionsService.findById(Integer.valueOf(id)); request.setAttribute("questions", questions); return mapping.findForward(flag); } } catch (Exception e) { e.printStackTrace(); } return findAnswersAll(mapping,null,request,response); } public ActionForward delAnswers(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { try { String id = request.getParameter("id"); if(HtmlFactory.isNotEmpty(id) ){ Questions questions = new Questions(); questions.setId(Integer.valueOf(id)); questionsService.delete(questions); } } catch (Exception e) { e.printStackTrace(); } return findAnswersAll(mapping,null,request,response); } }