@RequestMapping("addNote") public ModelAndView addNote(Article article, HttpServletRequest request) { ModelAndView mav = new ModelAndView(); // 获取当前用户信息 User user = (User) request.getSession().getAttribute("user"); article.setUserId(user.getUserId()); article.setPublishDate(new Date()); article.setClick(0); article.setCommentNum(0); article.setContentNoTag(StringUtil.Html2Text(article.getContent())); articleService.save(article); mav.setViewName("/index"); return mav; } @RequestMapping("saveNote") public ModelAndView saveNote(Article article, HttpServletRequest request) { ModelAndView mav = new ModelAndView(); Article a = articleService.findById(article.getArticleId()); article.setPublishDate(a.getPublishDate()); // 获取当前用户信息 articleService.save(article); mav.setViewName("/index"); return mav; }
时间: 2024-03-04 11:53:14 浏览: 68
springmvc:@Controller @RequestMapping @RequestParam,模型和ModelAndView Spring MVC实践
这段代码是一个基于 Spring MVC 框架的 Web 应用程序中的控制器方法,分别处理两个 HTTP 请求:
- addNote 请求用于创建一篇新的文章,将文章信息保存到数据库中,然后重定向到应用程序首页。
- saveNote 请求用于更新一篇已有的文章,将更新后的文章信息保存到数据库中,然后重定向到应用程序首页。
具体来说,这两个方法都使用了 @RequestMapping 注解来指定请求的 URL 地址,并且都返回一个 ModelAndView 对象,用于渲染视图。这个对象包含了一个视图名称,Spring MVC 会根据这个名称来查找对应的视图并将数据渲染到视图中。
在 addNote 方法中,首先从 HTTP 请求中获取当前用户信息,然后将这些信息与文章内容一起保存到数据库中。在 saveNote 方法中,首先根据文章 ID 从数据库中获取到原有的文章信息,然后将更新后的文章信息保存到数据库中。无论是创建新文章还是更新已有文章,这两个方法都将最终重定向到应用程序首页。
阅读全文