新闻管理系统——系统管理员模块(一)

目  录

1、进入管理员模块

①编写管理员页面代码

②在NewsController.java新闻控制类在前面的基础上后面加上以下代码语句

③效果图

 2、添加新闻

①编写添加页面代码

②前往添加新闻页面在NewsController里面编写代码

③效果图

 3、修改新闻

①编写修改页面代码

②前往添加新闻页面在NewsController里面编写代码

③效果图

 4、修改新闻

①前往添加新闻页面在NewsController里面编写代码

②service代码写在NewsServiceImpl中

③效果图


1、进入管理员模块

首页查询出新闻的列表信息提供给管理员进行管理

①编写管理员页面代码

admin.html




    
    新闻管理系统
    
    



  • [[${news.ntitle}]] 作者:[[${news.nauthor}]] 修改 删除

当前页数:[1/2 首页 上一页 首页  上一页  下一页 末页 下一页  末页 

②在NewsController.java新闻控制类在前面的基础上后面加上以下代码语句

NewsController.java

@RequestMapping("/manager")
    public String manager(NewsQueryVo newsQueryVo,Model model){
        //管理员模块主页只需要查询出新闻列表信息就ok
        IPage page = new Page<>(newsQueryVo.getPageNo(),newsQueryVo.getPageSize());
        newsService.getNewsListByPage(page,newsQueryVo);
        model.addAttribute("page",page);
        return "admin";
    }

③效果图

新闻管理系统——系统管理员模块(一)_第1张图片

 2、添加新闻

①编写添加页面代码

add.html




    
    新闻管理系统
    
    



添加新闻:

②前往添加新闻页面在NewsController里面编写代码

NewsController.java

@RequestMapping("/add")
    public String add(News news,@PathVariable("file")MultipartFile file){
        try {
            System.out.println(file);
            //先判断文件是否为空
            if (!file.isEmpty()){
                System.out.println("文件不为空,开始提交上传");
                //文件不为空,开始提交上传
                //设置一个文件的提交路径
                String path = "F:/temp/upload/";
                //获取旧文件名
                String originalFilename = file.getOriginalFilename();
                //获取文件拓展名
                String extension = FilenameUtils.getExtension(originalFilename);
                //定义新文件名
                String newFileName = UUID.randomUUID().toString().replace("'", "") + "." + extension;
                //为了解决同一个文件夹下面文件过多的问题,我们使用日期作为文件夹管理器
                String dataPath = new SimpleDateFormat("yyyyMMdd").format(new Date());
                //组装最后的文件名
                String finalName = dataPath + "/" +newFileName;
                //创建文件对象
                File destFile = new File(path, finalName);
                //判断文件夹是否存在 不存在则创建对应的文件夹
                if (!destFile.getParentFile().exists()){
                    destFile.getParentFile().mkdir();
                }
                //将文件保存到磁盘
                file.transferTo(destFile);
                //设置图片的存放路径
                news.setNpicPath(finalName);
            }
        }catch (Exception e){
            e.printStackTrace();
        }news.setNcreateDate(new Date());
        if ((newsService.save(news))){
            return "redirect:/news/manager";
        }
        return "redirect:/news/add.html";
    }

③效果图

新闻管理系统——系统管理员模块(一)_第2张图片

新闻管理系统——系统管理员模块(一)_第3张图片

 3、修改新闻

①编写修改页面代码

edit.html




    
    新闻管理系统
    
    
    



修改新闻:

②前往添加新闻页面在NewsController里面编写代码

NewsController.java

//修改新闻信息 获取新闻 然后根据新闻编号进行修改
    @RequestMapping("/edit/{nid}")
    public String editPage(@PathVariable("nid") Integer nid, Model model){
        List topicList=topicService.list();
        model.addAttribute("topicList", topicList);
        News news=newsService.getById(nid);
        model.addAttribute("news",news);
        return "news/edit";
    }
    @RequestMapping("/edit")
    public String edit(News news, MultipartFile file){
        uploadPic(news,file);
        news.setNmodifyDate(new Date());
        if(newsService.updateById(news)){
            return "redirect:/news/manager";
        }
        return "redirect:/news/edit"+news.getNid();
    }


    private void uploadPic(News news, MultipartFile file){
        try {
            //判断是否有文件
            if(!file.isEmpty()){
                String path = "D:/xinwenguanli/";
                //获取旧名称
                String originalFilename = file.getOriginalFilename();
                //获取扩展名
                String extension = FilenameUtils.getExtension(originalFilename);
                //重命名文件名
                String newFileName = UUID.randomUUID().toString().replace("-","")+"."+ extension;
                //为了解决同一个文件夹下文件过多的问题,使用日期作为文件夹管理
                String datePath = new SimpleDateFormat("yyyyMMdd").format(new Date());
                //组装最终的文件名
                String finalName = datePath + "/" + newFileName;
                //创建文件对象
                File destFile = new File(path,finalName);
                //判断文件夹是否存在,文件夹不存在则创建该文件夹
                if(!destFile.getParentFile().exists()){
                    destFile.getParentFile().mkdirs();
                }
                //将文件保存到磁盘
                file.transferTo(destFile);
                //图片路径
                news.setNpicPath(finalName);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

③效果图

新闻管理系统——系统管理员模块(一)_第4张图片

 新闻管理系统——系统管理员模块(一)_第5张图片

 4、修改新闻

①前往添加新闻页面在NewsController里面编写代码

NewsController.java

@RequestMapping("/deleteById/{nid}")
    public void deleteById(@PathVariable Integer nid, HttpServletResponse response){
        try {
            response.setCharacterEncoding("GBK");
            if(newsService.deleteById(nid)){
                response.getWriter().print("");
            }
            response.getWriter().print("");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

②service代码写在NewsServiceImpl中

NewsServiceImpl.java

	@Override
    public boolean deleteById(Integer nid) {
        //根据新闻编号 来删除新闻信息 但是首先得确保 新闻的评论也被干掉了
        QueryWrapper wrapper = new QueryWrapper<>();
        wrapper.eq("cnid",nid);
        Integer count = commentsMapper.selectCount(wrapper);
        //如果有评论就删除评论
        if (count>0){
            int i = commentsMapper.delete(wrapper);
        }
        //根据新闻编号删除 新闻信息
        int delete = baseMapper.deleteById(nid);
        if (delete>0){
            return true;
        }
        return false;
    }

③效果图

新闻管理系统——系统管理员模块(一)_第6张图片

新闻管理系统——系统管理员模块(一)_第7张图片

新闻管理系统——系统管理员模块(一)_第8张图片

你可能感兴趣的:(java,spring,boot,html,intellij-idea)