(3)修改文章
<a href="<%=URL%>/ArticleAction.action?action=adminSelectList&typeID=">删除文章</a>
我们修改文章也是,先显示一个文章列表,然后在选择哪一篇来修改。然后这个文章列表也是和删除文章列表一样的页面。
所有的文章存在一个List里面,我们在ArticleList里面循环显示文章,我们在每个文章后面除了加一个删除的链接还有也给修改的链接:
<a href="<%=URL%>/ArticleAction.action?action=modify&id=<%=articleBean.getId()%>">修改文章</a>
我们的修改文章也是交给ArticleAction来处理,传递action和id参数,action是modify,表示修改,id就是这一篇要修改的文章的id。
现在我们看看ArticleAction里面如何处理action为modify的操作。
以下是ArticleAction里面处理modify操作的函数。
public String modifyArticle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session=request.getSession(); RequestDispatcher rd=null; ArticleDao articleDao=new ArticleDao(); String type=request.getParameter("type"); if(type==null){ type=""; } if(!type.equals("doModify")){ //判断如果不是修改操作,就进行文章查询,通过id查看指定的某一篇文章 int id=Common.strToint(request.getParameter("id")); ArticleBean articleBean=articleDao.queryArticleByID(id); request.setAttribute("modifySingle", articleBean); String url="/admin/article/ArticleModify.jsp"; return url; } else{ String messages=""; String forward=""; String href=""; ArticleBean articleBean=new ArticleBean(); articleBean.setId(Common.strToint(request.getParameter("id"))); articleBean.setArticleTypeID(Integer.parseInt(request.getParameter("typeID"))); articleBean.setArticleTitle(Common.toChinese(request.getParameter("title"))); articleBean.setArticleFrom(Common.strToint(request.getParameter("from"))); articleBean.setArticleInfo(Common.toChinese(request.getParameter("info"))); articleBean.setArticleContent(Common.toChinese(request.getParameter("content"))); articleBean.setMasterID(Common.strToint(request.getParameter("masterID"))); boolean flag=articleDao.operationArticle("modify", articleBean); System.out.println("info:"+articleBean.getArticleInfo()); if(flag){ messages="<li>修改成功!!!</li>"; href="<a href='"+this.URL+"/ArticleServlet?action=adminSelectList&typeID=" +session.getAttribute("showTypeID")+"'>[继续修改其他文章]</a>"; forward="admin/success.jsp"; } else{ messages="<li>修改失败!!!</li>"; href="<a href ='javascript:window.history.go(-1)'>[返回]</a>"; forward="admin/error.jsp"; } request.setAttribute("messages", messages); request.setAttribute("href", href); String url=this.adminSelectList(request, response); return url; } }
我们看到,它首先是通过request获取参数名师type的值,先判断这个值是否是doModify,如果是,则表示保存修改好的文章,如果不是,那么就是进行修改操作。
而我们修改操作之前,就必须把这一篇文章的具体信息先找出来,所以我们还会执行一个查询操作,查询结果返回后,并存到request里面,设置其参数名为modifySingle,然后跳转到/admin/article/ArticleModify.jsp页面,进行修改操作。
我们看一下ArticleModify.jsp页面。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" import="java.util.List,com.MyBlog.common.GLOBALS,com.MyBlog.action_implements.ArticleAction,com.MyBlog.entity.ArticleBean"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <%String URL=session.getAttribute("url").toString();%> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>博客管理——修改文章</title> </head> <body> <% ArticleBean articleBean=(ArticleBean)request.getAttribute("modifySingle"); int id=articleBean.getId(); int typeID=articleBean.getArticleTypeID(); String title=articleBean.getArticleTitle(); int from=articleBean.getArticleFrom(); String info=articleBean.getArticleInfo(); String content=articleBean.getArticleContent(); out.print(info); %> <!-- 文章修改后,保存按钮,提交请求的表单设置 --> <form action="<%=URL%>/ArticleAction.action" method="post"> <input type="hidden" name="action" value="modify"> <input type="hidden" name="type" value="doModify"> <input type="hidden" name="id" value="<%=id%>"> <table id="table"> <tr> <td><label for="typeID">类别ID</label></td> <td><input id="typeID" type="text" name="typeID" value="<%=typeID%>"></td> </tr> <tr> <td><label for="title">文章标题</label></td> <td><input id="title" type="text" name="title" value="<%=title%>"></td> </tr> <tr> <td><label for="from">文章来源</label></td> <td><input id="from" type="text" name="from" value="<%=from%>"></td> </tr> <tr> <td><label for="info">文章描述</label></td> <td><input id="info" type="text" name="info" value="<%=info%>"></td> </tr> <tr> <td><label for="content">文章内容</label></td> <td><textarea id="content" rows="30" cols="100" name="content"><%=content%></textarea> </td> </tr> </table> <input type="submit" value="修改"> <input type="reset" value="清空"> </form> </body> </html>
我们首先获取request里面参数名为modifySingle的值,即我们之前查询的结果,然后我们设置一个表单,这个表单加了三个type为hidden的隐藏input,分别是:
<input type="hidden" name="action" value="modify">
<input type="hidden" name="type" value="doModify">
<input type="hidden" name="id" value="<%=id%>">
第一个表示当前是什么操作,即修改操作,第二个是表示修改的type,即使保存修改,第三个就是这一篇文章的id。
然后我们搞了四个input,分别是类别id,文章标题,文章来源,文章描述的input,还有一个textarea,即文章内容,并把我们之前查询的结果作为这些input或textarea的初始值,然后我们直接修改这个input就达到了修改文章的目的。
我们修改好之后,就提交这个表单,给了ArticleAction处理,也是用我们处理action为modify的函数modifyArticle,这次我们判断的type的值是doModify,表示保存文章。我们首先把这些值设置到ArticleBean里面,然后由articleDao执行修改操作,即articleDao.operationArticle("modify", articleBean)。我们根据这个函数的返回值,判断我们是否修改成功,修改成功,跳转到admin/success.jsp页面,失败跳到admin/error.jsp页面。
以上是我们的文章的增删查改。
除了文章的增删查改,还有文章类型的增删查改、朋友的增删查、留言的增删查改,相册的增删查。这些的增删查改和我们上面说的文章的增删查改是大同小异的,我们后面只说说它们的与众不同之处。
相关推荐
这个描述简洁明了地指出了项目的核心内容——一个基于Java Web技术的博客平台。这种类型的系统通常具备用户注册、登录、发布文章、评论互动、分类管理等功能。开发者利用Java Web的特性,如请求处理、数据持久化、...
【基于Java Web的博客系统】是一个综合性的软件开发项目,主要使用Java技术栈构建一个运行在Web环境下的博客平台。这个系统通常包含多个模块,如用户管理、文章发布、评论互动、分类管理、搜索功能等,为用户提供了...
基于java web芝麻开门博客网设计与实现.zip基于java web芝麻开门博客网设计与实现.zip基于java web芝麻开门博客网设计与实现.zip基于java web芝麻开门博客网设计与实现.zip基于java web芝麻开门博客网设计与实现.zip...
基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程...
因此,基于Java Web技术开发和设计的博客系统,运用MVC开发模式,Eclipse + Myeclipse集成开发环境,数据库技术等设计了博客系统。 本次课程设计主要阐述了不同用户对博客的不同管理,对管理员来说,有博主管理、...
【标题】"基于Java Web的博客系统源码.zip"是一个包含了一整套使用Java Web技术开发的博客系统源代码的压缩文件。这个博客系统适用于多种场景,如课程设计、大作业、毕业设计、项目练习以及学习演示,为学习者提供了...
基于Java Web技术博客项目系统的设计 与开发
【标题】"基于Java的博客系统"是一款使用Java技术栈构建的在线博客平台,它集成了SQL Server 2005数据库、Tomcat应用服务器以及MyEclipse开发环境。这个系统设计精巧,功能全面,提供了后台管理、用户注册、相册管理...
【标题】"基于Java web的美食网站系统的设计与实现"是一个关于构建在线美食分享平台的项目,它利用Java Web技术栈来实现。这个系统旨在提供一个互动的平台,让用户能够浏览、分享、评论各种美食信息,同时可能还包含...
标题中的"(原创+源码+论文) 基于Java Web技术开发的BBS论坛系统"揭示了这个压缩包文件的主要内容,它是一个基于Java Web技术实现的BBS(Bulletin Board System,电子公告板)论坛系统的完整源码和相关论文。...
本项目“基于Java的个人博客系统的设计与实现”旨在提供一个全面的、易于理解和学习的Java Web开发实例,为初学者提供宝贵的实践机会,同时也适合作为毕业设计的参考。 首先,我们需要理解Java技术栈的基础。Java是...
【基于Java Web的个人博客系统】是一个利用Java技术构建的在线平台,允许用户轻松创建、发布和管理他们的个人博客。这种系统充分利用了Web Log的概念,提供了简易的傻瓜化信息发布方式,让不具备专业编程知识的普通...
首先,Java Web是一种基于Java技术的Web应用开发框架,它提供了强大的服务器端编程能力,使得开发者能够构建功能丰富的动态网站。Java Web开发通常涉及Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages ...
【基于Java的博客系统】是一种使用Java Web技术构建的在线平台,它允许用户发布、分享和阅读文章。这种系统的核心特点在于其稳定性和可扩展性,使得它能够处理大量并发访问,同时保持数据的安全和一致性。 Java Web...
【标题】: "基于Java Web的博客网站" 是一个使用Java技术栈开发的Web应用程序,主要功能是构建一个在线博客平台。这个项目充分利用了Java Web技术的优势,为用户提供发布、阅读和评论博客的功能。 【描述】: 这个...
Java Web 博客系统是一种基于Java技术构建的网络应用程序,主要用于个人或团队发表文章、分享观点、提供互动交流的平台。在这个系统中,用户可以进行登录、注册、发布文章、评论、删除文章等一系列操作。下面我们将...
这是一个基于Java Web技术开发的博客系统项目,包含了完整的源代码以及相关的数据库文件。这个项目对于学习和理解Java Web开发有着重要的实践价值。下面将详细解释其中涉及的关键知识点。 1. **Java Web技术**:...
本篇将深入探讨一个基于Java Web的博客系统,它展示了如何利用Java技术栈构建一个功能完备、用户体验良好的在线博客平台。 一、项目概述 该项目名为"基于Java Web的博客系统",提供了完整的源代码和PPT讲解材料,供...
基于Java Web的个人博客系统设计 本资源摘要信息将详细介绍基于Java Web的个人博客系统的设计和实现,涵盖了前端、后端、前后端通信和会话、网站设计、项目架构等方面的知识点。 一、前端(客户端、浏览器端) 1....
基于Java Web的智能二维码门禁管理系统本科毕业设计论文+源码(高分毕设)基于Java Web的智能二维码门禁管理系统本科毕业设计论文+源码(高分毕设)基于Java Web的智能二维码门禁管理系统本科毕业设计论文+源码...