首页>代码>整合ssm框架搭建简单javaWeb博客系统>/MyBlog/src/main/java/org/sang/controller/ArticleController.java
package org.sang.controller;

import com.google.gson.Gson;
import org.sang.entity.Article;
import org.sang.entity.Category;
import org.sang.entity.User;
import org.sang.service.ArticleService;
import org.sang.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.tautua.markdownpapers.Markdown;
import org.tautua.markdownpapers.parser.ParseException;

import javax.annotation.Resource;
import javax.json.Json;
import javax.json.JsonObject;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.util.List;


@Controller
public class ArticleController {
    @Resource
    private ArticleService articleService;
    @Resource
    private UserService userService;

    @RequestMapping("/")
    public String index(Model model) {
        List<Article> articles = articleService.getFirst10Article();
        for (Article article : articles) {
            System.out.println(article.getCategory());
        }
        model.addAttribute("articles", articles);
        return "views/index";
    }

    @RequestMapping("/column/{displayName}/{category}")
    public String column(@PathVariable("category") String category,Model model,@PathVariable("displayName") String displayName) {
        model.addAttribute("articles", articleService.getArticlesByCategoryName(category));
        model.addAttribute("displayName", displayName);
        return "views/columnPage";
    }

    @RequestMapping("/detail/{id}/{category}")
    public String detail(@PathVariable("id") Long id, Model model) {
        Article article = articleService.getArticleById(id);
        System.out.println(article.getContent());
        Markdown markdown = new Markdown();
        try {
            StringWriter out = new StringWriter();
            markdown.transform(new StringReader(article.getContent()), out);
            out.flush();
            article.setContent(out.toString());
            System.out.println("------------------");
            System.out.println(article.getContent());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        model.addAttribute("article", article);
        return "views/detail";
    }

    @RequestMapping("/sang")
    public String admin(Model model) {
        model.addAttribute("articles", articleService.getFirst10Article());
        return "admin/index";
    }

    @RequestMapping("/sang/login")
    public String login() {
        return "admin/login";
    }

    @RequestMapping(value = "/sang/dologin", method = RequestMethod.POST)
    public String doLogin(HttpServletRequest request, User user, Model model) {
        System.out.println("user.getUsername():" + user.getUsername() + ";user.getPassword():" + user.getPassword());
        if (userService.login(user.getUsername(), user.getPassword())) {
            request.getSession().setAttribute("user", user);
            model.addAttribute("user", user);
            return "redirect:/sang";
        } else {
            model.addAttribute("error", "用户名或密码错误");
            return "admin/login";
        }
    }

//    private String returnAdminIndex(Model model) {
//        model.addAttribute("articles", articleService.getFirst10Article());
//        return "redirect:/sang";
//    }

    @RequestMapping(method = RequestMethod.GET, value = "/sang/dologin")
    public String doLogin(HttpServletRequest request, Model model) {
        if (request.getSession().getAttribute("user") == null) {
            return "admin/login";
        }
        return "redirect:/sang";
    }

    @RequestMapping("/sang/write")
    public String write(Model model) {
        List<Category> categories = articleService.getCategories();
        categories.remove(0);
        model.addAttribute("categories", categories);
        return "admin/write";
    }

    @RequestMapping(value = "/sang/write", method = RequestMethod.POST)
    public String write(Article article) {
        System.out.println("article:" + new Gson().toJson(article));
        if (article.getId() == 0l) {
            articleService.writeBlog(article);
        } else {
            articleService.updateBlog(article);
        }
        return "redirect:/sang";
    }

    @RequestMapping("/sang/delete/{id}")
    public String delete(@PathVariable("id") Long id) {
        articleService.deleteArticleById(id);
        return "redirect:/sang";
    }

    @RequestMapping("/sang/update/{id}")
    public String update(@PathVariable("id") Long id, Model model) {
        Article article = articleService.getArticleById(id);
        model.addAttribute("article", article);
        return "admin/write";
    }
}
最近下载更多
abcdmly12  LV1 1月12日
monolog  LV4 2023年6月18日
微信网友_6260196253601792  LV7 2023年6月9日
6389181  LV7 2023年6月1日
刘海柱  LV1 2022年6月12日
wubinbin  LV11 2021年12月10日
lsc860911  LV11 2021年11月24日
xbjzc123  LV5 2021年11月23日
eclipse_javen  LV6 2021年8月21日
秦sir3067683450  LV10 2021年7月29日
最近浏览更多
lilitu  LV6 5月29日
goccgoccgocc  LV4 5月23日
2131234536546  LV7 3月31日
abcdmly12  LV1 1月12日
XiaoSong888  LV3 1月10日
fff2003  LV9 2023年12月23日
SQ2930501923  LV14 2023年11月14日
abandan  LV4 2023年11月6日
hj1172788262  LV5 2023年10月25日
微信网友_6692060019216384 2023年10月14日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友