首页>代码>基于Spring+Spring MVC+Mybatis开发的社区论坛系统>/Genesis-master/src/main/java/com/withstars/controller/TopicController.java
package com.withstars.controller; import com.withstars.domain.Reply; import com.withstars.domain.Tab; import com.withstars.domain.Topic; import com.withstars.domain.User; import com.withstars.service.impl.ReplyServiceImpl; import com.withstars.service.impl.TabServiceImpl; import com.withstars.service.impl.TopicServiceImpl; import com.withstars.service.impl.UserServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.util.Date; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * 主题相关控制类 */ @Controller public class TopicController { @Autowired public TopicServiceImpl topicService; @Autowired public ReplyServiceImpl replyService; @Autowired public UserServiceImpl userService; @Autowired public TabServiceImpl tabService; //log4j对象 private final Log log = LogFactory.getLog(getClass()); /** * 渲染首页 * @param session * @return */ @RequestMapping("/") public ModelAndView toMain(HttpSession session){ ModelAndView indexPage=new ModelAndView("cate"); //全部主题 List<Topic> topics=topicService.listTopicsAndUsers(); //获取统计信息 int topicsNum=topicService.getTopicsNum(); int usersNum=userService.getUserCount(); //获取用户信息 Integer uid=(Integer) session.getAttribute("userId"); User user=userService.getUserById(uid); //最热主题 List<Topic> hotestTopics=topicService.listMostCommentsTopics(); indexPage.addObject("topics",topics); indexPage.addObject("hotestTopics",hotestTopics); indexPage.addObject("topicsNum",topicsNum); indexPage.addObject("usersNum",usersNum); indexPage.addObject("user",user); return indexPage; } /** * 渲染主题详细页面 * @param id * @param session * @return */ @RequestMapping("/t/{id}") public ModelAndView toTopic(@PathVariable("id")Integer id,HttpSession session){ //点击量加一 boolean ifSucc=topicService.clickAddOne(id); //获取主题信息 Topic topic=topicService.selectById(id); //获取主题全部评论 List<Reply> replies=replyService.getRepliesOfTopic(id); //获取评论数 int repliesNum=replyService.repliesNum(id); //获取统计信息 int topicsNum=topicService.getTopicsNum(); int usersNum=userService.getUserCount(); //获取用户信息 Integer uid=(Integer) session.getAttribute("userId"); User user=userService.getUserById(uid); //最热主题 List<Topic> hotestTopics=topicService.listMostCommentsTopics(); //渲染视图 ModelAndView topicPage=new ModelAndView("detail"); topicPage.addObject("topic",topic); topicPage.addObject("replies",replies); topicPage.addObject("repliesNum",repliesNum); topicPage.addObject("topicsNum",topicsNum); topicPage.addObject("usersNum",usersNum); topicPage.addObject("user",user); topicPage.addObject("hotestTopics",hotestTopics); return topicPage; } /** * 渲染指定板块页面 */ @RequestMapping("/tab/{tabNameEn}") public ModelAndView toTabPage(@PathVariable("tabNameEn")String tabNameEn,HttpSession session){ Tab tab=tabService.getByTabNameEn(tabNameEn); Integer tabId=tab.getId(); ModelAndView indexPage=new ModelAndView("cate"); //全部主题 List<Topic> topics=topicService.listTopicsAndUsersOfTab(tabId); //获取统计信息 int topicsNum=topicService.getTopicsNum(); int usersNum=userService.getUserCount(); //获取用户信息 Integer uid=(Integer) session.getAttribute("userId"); User user=userService.getUserById(uid); //最热主题 List<Topic> hotestTopics=topicService.listMostCommentsTopics(); indexPage.addObject("topics",topics); indexPage.addObject("topicsNum",topicsNum); indexPage.addObject("usersNum",usersNum); indexPage.addObject("tab",tab); indexPage.addObject("user",user); indexPage.addObject("hotestTopics",hotestTopics); return indexPage; } /** * 发表主题 * @param request * @param session * @return */ @RequestMapping(value = "/topic/add", method = RequestMethod.POST) public ModelAndView addTopic(HttpServletRequest request,HttpSession session){ ModelAndView indexPage; //未登陆 if(session.getAttribute("userId")==null){ indexPage=new ModelAndView("redirect:/signin"); return indexPage; } //处理参数 Integer userId=(Integer) session.getAttribute("userId"); String title=request.getParameter("title"); String content=request.getParameter("content"); Byte tabId=Byte.parseByte(request.getParameter("tab")); //新建Topic Topic topic=new Topic(); topic.setUserId(userId); topic.setTitle(title); topic.setContent(content); topic.setTabId(tabId); topic.setCreateTime(new Date()); topic.setUpdateTime(new Date()); //添加topic boolean ifSucc=topicService.addTopic(topic); boolean ifSuccAddCredit=userService.addCredit(1,userId); if (ifSucc){ if (log.isInfoEnabled()){ log.info("添加主题成功!"); } } indexPage=new ModelAndView("redirect:/"); return indexPage; } }
最近下载更多
玖零定制问题修复 LV34
3月3日
ewan007 LV29
2月25日
2897744513 LV2
2023年12月31日
lilong007 LV20
2023年12月30日
wang123999 LV19
2023年12月5日
liuyuheng LV17
2023年11月15日
全栈小白 LV34
2023年11月6日
Seaskye LV14
2023年11月4日
冰糖雪里 LV3
2023年11月4日
zxc131313 LV12
2023年11月2日
最近浏览更多
暂无贡献等级
kenhomeliu LV29
4月30日
wahaha9zz
4月29日
暂无贡献等级
只想躺着 LV1
4月17日
chirsbey2
4月17日
暂无贡献等级
saaaaaa LV14
4月16日
mzqnxyh LV2
4月12日
strongning LV3
4月5日
2131234536546 LV7
3月31日
微信网友_6927932988952576 LV12
3月30日