目 录
1、进入管理员模块
①编写管理员页面代码
②在NewsController.java新闻控制类在前面的基础上后面加上以下代码语句
③效果图
2、添加新闻
①编写添加页面代码
②前往添加新闻页面在NewsController里面编写代码
③效果图
3、修改新闻
①编写修改页面代码
②前往添加新闻页面在NewsController里面编写代码
③效果图
4、修改新闻
①前往添加新闻页面在NewsController里面编写代码
②service代码写在NewsServiceImpl中
③效果图
首页查询出新闻的列表信息提供给管理员进行管理
admin.html
新闻管理系统
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";
}
add.html
新闻管理系统
添加新闻:
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";
}
edit.html
新闻管理系统
修改新闻:
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();
}
}
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();
}
}
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;
}