03MVC日志系统之——编辑日志
Posted Dobe张的欢乐课堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03MVC日志系统之——编辑日志相关的知识,希望对你有一定的参考价值。
实现思路:
1)先向DiaryServlet请求查询某篇日志,并将查询到的日志对象带到editDiary.jsp页面,显示在对应的表单中;当用户点击”修改”按钮后,再将修改后的日志内容提交给DiaryServlet,请求更新。
2)在myDiary.jsp页面中点击”编辑”链接,链接到DiaryServlet,并传递action=edit&id=53,其中53指欲编辑的日志的编号。
3)DiaryServlet根据行为参数action=edit判断是编辑日志的请求,只需调用DiaryDao.getDiaryById()方法查询到对应的日志对象,在跳转到editDiary.jsp时带过去。
4)在editDiary.jsp页面中,从request中取出Diary日志对象,显示在对应的表单中。
5)当用户修改了日志内容并点击”修改”按钮后,将修改后的表单内容提交给DiaryServlet并传递参数action=update&id=53(53是指日志的编号)。
6)DiaryServlet处理update请求,调用DiaryDao.updateDiary()方法更新日志内容。更新完毕后跳转到DiaryServlet?action=find&id=53查看修改后的日志详情。(也可以考虑跳转到DiaryServlet?action=list,回到日志列表页面。)
1、向DiaryServlet发送编辑请求
2、在DiaryServlet中响应编辑请求
3、在editDiary.jsp页面显示待编辑内容
编辑日志页面editDiary.jsp与发表日志页面newDiary.jsp,在界面上是一样的,只不过一个是”修改”按钮,一个是”添加”按钮。editDiary.jsp的初始代码如下:
然后在request中取出传递过来的diary对象,将日志标题、日志内容、是否公开显示在对应的表单中,代码如下:
4、向DiaryServlet发送更新请求
当用户点击”修改”按钮时,会将修改后的日志信息提交给DiaryServlet进行更新处理。这里需把form标签的action属性设为:servlet/DiaryServlet?action=update&id=53形式,其中action=update表示是更新日志的请求,id=<%=diary.getDiaryID()%>传递日志编号,用于标明更新的是哪一篇日志。(代码如上图所示)
在DiaryServlet中处理update请求分三步:
1)获取修改后的日志信息,并封装成新的Diary对象;其中标题、内容、是否公开由用户修改,发表日期取当前日期,作者是session中的登录用户,日志编号从传递的参数id获得。
2)调用DiaryDao的updateDiary()方法,对日志进行更新操作;
3)根据updateDiary()方法的返回值,决定程序流程。如果返回值大于0,表示更新成功,然后去显示更新后的日志详情。
注:在detailDiary.jsp页面中最好添加一个链接<a href=”servlet/DiaryServlet?action=list”>返回日志列表</a>,方便页面间的跳转。
5、DiaryDao.update()方法实现日志更新
DiaryDao类的update()方法传入修改后的Diary对象,返回整型数据,代表更新成功、失败或异常。update()方法会根据日志编号,将修改后的标题、内容、是否公开以及发表日期更新,代码截图如下:
至此,日志编辑功能完全实现。
后续问题:
格式处理——如文本框中的换行代码是\n,而网页中显示换行的代码是<br>,那么在编辑和显示日志时,需要作替换。
是否登录——日志编辑、删除,以及私密日志的查看都必须在作者已登录的前提下,本案例中没有作登录判断,可以通过过滤器类实现。过滤器请大家自己找资料学习。
以上是关于03MVC日志系统之——编辑日志的主要内容,如果未能解决你的问题,请参考以下文章