package cn.tycoding.controller;
import cn.tycoding.pojo.Article;
import cn.tycoding.pojo.Reply;
import cn.tycoding.pojo.Words;
import cn.tycoding.service.ArticleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author TyCoding
* @date 18-4-30上午9:49
*/
@Controller
@RequestMapping(value = "/article")
public class ArticleController {
/**
* 声明一个变量用于区别我访问的是文章管理页面,还是回收站页面
* 0:访问的是文章管理页面 1:表示访问的是回收站页面
*/
private int goId = 0;
/**
* 注入Service
*/
@Autowired
private ArticleService articleService;
/**
* 跳转到文章编辑页面
*/
@RequestMapping(value = "/toArticleWrite")
public String toArticleWrite() {
return "view/article/articleWrite";
}
/**
* 跳转到文章管理页面
*/
@RequestMapping(value = "/toArticleManage")
public String toArticleManage() {
//设置我区别访问页面的状态码
goId = 0;
return "redirect:findByPage.do";
}
/**
* 跳转到回收站页面
*/
@RequestMapping(value = "/toArticleTrash")
public String toArticleTrash() {
//设置这个状态码为1表示我访问的是回收站页面
goId = 1;
return "redirect:findByPage.do";
}
/**
* 保存文章
*/
@RequestMapping(value = "/saveArticle")
public String saveArticle(Article article, Model model) {
try {
articleService.saveArticle(article);
model.addAttribute("message", "文章添加成功");
return "view/info/message";
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 分页查询
*/
@RequestMapping(value = "/findByPage")
public String findByPage(@RequestParam(value = "pageCode", defaultValue = "1", required = false) int pageCode,
@RequestParam(value = "pageSize", defaultValue = "3", required = false) int pageSize,
HttpServletRequest request,
Model model) {
// 封装分页数据
String verify = request.getParameter("r_verify");
String publish = request.getParameter("r_publish");
String status = request.getParameter("r_status");
int r_verify = 0, r_publish = 0, r_status = 0;
if (verify != null) {
if (verify.equals("已审核")) {
r_verify = 1;
} else if (verify.equals("未审核")) {
r_verify = 0;
}
}
if (publish != null) {
if (publish.equals("已发布")) {
r_publish = 1;
} else if (verify.equals("未发布")) {
r_publish = 0;
}
}
if (status != null) {
if (status.equals("存在")) {
r_status = 0;
} else if (status.equals("已删除")) {
r_status = 1;
}
}
Map<String, Object> conMap = new HashMap<String, Object>();
conMap.put("r_verify", r_verify);
conMap.put("r_publish", r_publish);
conMap.put("r_status", r_status);
//把状态码也放入Map集合中
conMap.put("goId", goId);
//回显数据
model.addAttribute("page", articleService.findByPage(pageCode, pageSize, conMap));
if (goId == 1) {
return "/view/article/articleTrash";
}
return "view/article/articleManage";
}
/**
* 删除功能
*/
@RequestMapping(value = "/delete")
public String delete(@RequestParam int r_id) {
articleService.delete(r_id);
return "redirect:findByPage.do";
}
/**
* 跳转到更新文章信息页面
*/
@RequestMapping(value = "/toEditPage")
public String editPage(@RequestParam int r_id, Model model) {
//先去查询
Article article = articleService.findById(r_id);
if (article != null) {
model.addAttribute("article", article);
return "view/article/articleUpdate";
} else {
return null;
}
}
/**
* 文章删除(仅放入回收站,即仅仅改变status的值)
*/
@RequestMapping(value = "/clean")
public String clean(@RequestParam int r_id) {
articleService.clean(r_id);
return "redirect:findByPage.do";
}
/**
* 恢复文章信息功能(即将文章从回收站中取出,改变status值)
*/
@RequestMapping(value = "/restore")
public String restore(@RequestParam int r_id) {
articleService.restore(r_id);
return "redirect:findByPage.do";
}
/**
* 更新文章信息的方法
*/
@RequestMapping(value="/update")
public String update(Article article,Model model){
if(article != null){
articleService.update(article);
return "redirect:toArticleManage.do";
}else{
model.addAttribute("message","文章信息获取失败");
return "view/info/message";
}
}
/**
* 保存留言信息
*/
@RequestMapping(value="/saveWords")
public String saveWords(Words words){
if(words != null){
String r_id = words.getLw_for_article_id();
articleService.saveWords(words);
return "redirect:toArticleView.do?r_id="+r_id;
}else{
return null;
}
}
/**
* 保存回复信息
*/
@RequestMapping(value="/saveReply")
public String saveReply(Reply reply){
if(reply != null){
articleService.saveReply(reply);
String r_id = reply.getLr_for_article_id();
return "redirect:toArticleView.do?r_id="+r_id;
}else{
return null;
}
}
/**
* 跳转到查看文章内容页面
*/
//声明用于存放留言回复信息的List集合
private List<Words> lw_list;
private List<Reply> lr_list;
@RequestMapping(value="/toArticleView")
public String toArticleView(@RequestParam int r_id, Model model){
//封装留言信息
lw_list = articleService.findByWords();
model.addAttribute("lw_list",lw_list);
//封装回复信息
lr_list = articleService.findByReply();
model.addAttribute("lr_list",lr_list);
//查询文章信息
Article article = articleService.findById(r_id);
System.out.println("查询到当前文章的ID值:"+article.getR_id());
if (article != null) {
model.addAttribute("article", article);
return "view/article/articleView";
} else {
return null;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
用editor的Markdown富文本编辑器实现文章的编写,增加了留言回复功能, 目前仅主要实现了对文章的增删改查功能,项目后台页面使用了layui官网提供的后台模板。 留言回复功能详情请参看我这篇博文:留言回复功能 注:本项目目前没有实现图片上传下载功能;采用MySQL建表来实现留言回复功能,这并不是一种合适的方式,如果有兴趣, 请移步去了解一下RabbitMQ消息组件。如果是个人练习的小项目,本篇博文应该对你有所帮助。 关于项目: 环境:jdk1.8 + mysql5.7 + maven + tomcat8 + IDEA 后端:spring + springmvc + mybatis 前端:layui + bootstrap + editor(Markdown富文本编辑器) 数据库名称:leave_message
资源推荐
资源详情
资源评论
收起资源包目录
基于Java(SSM)+MySQL实现简单的(Web)文章管理系统【100011828】 (511个子文件)
AUTHORS 6KB
bootstrap.min.css 118KB
editormd.min.css 60KB
layui.css 59KB
font-awesome.min.css 30KB
ambiance.css 26KB
layer.css 14KB
layui.mobile.css 10KB
codemirror.css 8KB
laydate.css 7KB
codemirror.min.css 5KB
mdn-like.css 5KB
solarized.css 5KB
merge.css 3KB
lint.css 3KB
xq-dark.css 3KB
lesser-dark.css 2KB
pastel-on-dark.css 2KB
xq-light.css 2KB
tomorrow-night-eighties.css 2KB
erlang-dark.css 2KB
zenburn.css 2KB
twilight.css 2KB
midnight.css 2KB
vibrant-ink.css 2KB
mbo.css 2KB
base16-dark.css 2KB
base16-light.css 2KB
tern.css 2KB
3024-night.css 2KB
paraiso-dark.css 2KB
paraiso-light.css 2KB
tomorrow-night-bright.css 2KB
3024-day.css 2KB
blackboard.css 2KB
colorforth.css 2KB
the-matrix.css 2KB
night.css 2KB
rubyblue.css 2KB
monokai.css 1KB
cobalt.css 1KB
simplescrollbars.css 1KB
eclipse.css 1KB
code.css 1KB
neo.css 932B
elegant.css 768B
neat.css 693B
show-hint.css 662B
dialog.css 502B
index.css 450B
tiki.css 440B
foldgutter.css 435B
tiddlywiki.css 220B
matchesonscrollbar.css 188B
fullscreen.css 116B
ambiance-mobile.css 103B
adminLogin.css 65B
fontawesome-webfont.eot 162KB
fontawesome-webfont.eot 59KB
iconfont.eot 40KB
editormd-logo.eot 1KB
59.gif 10KB
22.gif 10KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
4.gif 6KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
40.gif 3KB
共 511 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
神仙别闹
- 粉丝: 4185
- 资源: 7485
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 大气黄色背景的摄影设计企业网站模板下载.zip
- 大气活力风的体育运动新闻网站模板下载.rar
- 大气简单背景的视差装修案例展示模板下载.rar
- 大气极简的艺术设计自媒体网页模板下载.rar
- 大气简单的后台管理系统网站模板下载.zip
- 大气简洁扁平化的设计师作品展示网站模板下载.zip
- 大气简洁的办公室吊顶装修公司网站模板下载.rar
- 大气简洁的的跑步健身俱乐部企业网站模板下载.zip
- 大气简洁的动物企业网站模板下载.zip
- 大气简洁的个人博客网站模板下载.zip
- 大气简洁的互联网科技商务整站模板下载.zip
- 大气简洁的户外旅行社公司网站企业模板下载.zip
- 大气简洁的教育传媒公司企业网站模板下载.zip
- 大气简洁的机械五金加工厂企业网站模板下载.zip
- 大气简洁的前端工程师简历网站模板下载.zip
- 大气简洁的设计机构官网模板下载.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功