1. 数据库表
2. notices.jsp
<form action="#" method="post"> <fieldset> <legend>新闻浏览:</legend> <table width="800" border="1" cellspacing="0" cellpadding="0"> <tbody style="text-align: center"> <tr> <th scope="col">编号</th> <th width="260" scope="col">标题</th> <th scope="col">作者</th> <th width="300" scope="col">内容</th> <th scope="col" colspan="3">操作</th> </tr> <c:forEach items="${requestScope.news_list }" var="news"> <tr> <td>${news.newsID }</td> <td><div id="overflow">${news.newsTitle }</div></td> <td>${news.newsAuthor }</td> <td><div id="overflow">${news.newsContent }</div></td> <td><a href="#">预览</a></td> <td><a href="#">修改</a></td> <td><a href="deleteNews?id=${news.newsID }">删除</a></td> </tr> </c:forEach> </tbody> </table> </fieldset> </form>
<a href="deleteNews?id=${news.newsID }">,这里id是后台要获取的参数名称,${news.newsID }是要获取的参数内容,
在controller中使用request.getparameter("id")取出这个id的值,即要删除的新闻的id
controller中也可以通过方法的参数直接获取id
前台到后台通过表单传递数据时:(1) 表单的name属性值和接受的参数同名。(2) 表单的name属性值和接收对象的属性同名。
3. NewsMapper
public interface NewsMapper { //根据id删除新闻 @Delete("delete from news where newsID= #{ID}") void deleteNewByID(@Param("ID") Integer newsID); }
4. NewsService
public interface NewsService { /** * 根据新闻id删除新闻 * @param newsID */ void deleteNews(Integer newsID); }
删除news的接口
5. NewsServiceImpl
@Transactional(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT) @Service("newsService") public class NewsServiceImpl implements NewsService { /** * 自动注入持久层Mapper对象 */ @Autowired private NewsMapper newsMapper; /*******新闻接口实现************/ @Override public void deleteNews(Integer newsID) { // TODO Auto-generated method stub newsMapper.deleteNewByID(newsID); } }
实现删除news的方法
6. NewsController
@Controller public class NewsController { /** * 自动注入newsService */ @Autowired @Qualifier("newsService") private NewsService newsService; //根据获取的id删除新闻 @RequestMapping(value="/deleteNews") public ModelAndView deleteNews(HttpServletRequest request, ModelAndView mv){ Integer newsID = Integer.valueOf(request.getParameter("id")); //判断id是否为空 if(newsID != null){ newsService.deleteNews(newsID); } //用redirect进行重定向 mv.setViewName("redirect:/htNews"); return mv; } }
在控制器中用request.getParameter("id")获取要删除的新闻的id