`

基于java web的博客平台(四)

 
阅读更多

(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的博客系统】是一个综合性的软件开发项目,主要使用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编程爱好者博客地带设计与实现.zip基于 java web编程爱好者博客地带设计与实现.zip基于 java web编程...

    web课程设计-基于Java web的博客系统(源码+数据库+报告).zip

    因此,基于Java Web技术开发和设计的博客系统,运用MVC开发模式,Eclipse + Myeclipse集成开发环境,数据库技术等设计了博客系统。 本次课程设计主要阐述了不同用户对博客的不同管理,对管理员来说,有博主管理、...

    基于Java Web的博客系统源码.zip

    【标题】"基于Java Web的博客系统源码.zip"是一个包含了一整套使用Java Web技术开发的博客系统源代码的压缩文件。这个博客系统适用于多种场景,如课程设计、大作业、毕业设计、项目练习以及学习演示,为学习者提供了...

    基于Java Web技术博客项目系统的设计 与开发JAVA语言

    基于Java Web技术博客项目系统的设计 与开发

    基于java的博客系统

    【标题】"基于Java的博客系统"是一款使用Java技术栈构建的在线博客平台,它集成了SQL Server 2005数据库、Tomcat应用服务器以及MyEclipse开发环境。这个系统设计精巧,功能全面,提供了后台管理、用户注册、相册管理...

    基于Java web的美食网站系统的设计与实现.rar

    【标题】"基于Java web的美食网站系统的设计与实现"是一个关于构建在线美食分享平台的项目,它利用Java Web技术栈来实现。这个系统旨在提供一个互动的平台,让用户能够浏览、分享、评论各种美食信息,同时可能还包含...

    (原创+源码+论文) 基于Java Web技术开发的BBS论坛系统

    标题中的"(原创+源码+论文) 基于Java Web技术开发的BBS论坛系统"揭示了这个压缩包文件的主要内容,它是一个基于Java Web技术实现的BBS(Bulletin Board System,电子公告板)论坛系统的完整源码和相关论文。...

    基于java的个人博客系统的设计与实现.zip

    本项目“基于Java的个人博客系统的设计与实现”旨在提供一个全面的、易于理解和学习的Java Web开发实例,为初学者提供宝贵的实践机会,同时也适合作为毕业设计的参考。 首先,我们需要理解Java技术栈的基础。Java是...

    基于Java web的个人博客系统文档.doc

    【基于Java Web的个人博客系统】是一个利用Java技术构建的在线平台,允许用户轻松创建、发布和管理他们的个人博客。这种系统充分利用了Web Log的概念,提供了简易的傻瓜化信息发布方式,让不具备专业编程知识的普通...

    个人博客 java web

    首先,Java Web是一种基于Java技术的Web应用开发框架,它提供了强大的服务器端编程能力,使得开发者能够构建功能丰富的动态网站。Java Web开发通常涉及Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages ...

    基于Java的博客系统

    【基于Java的博客系统】是一种使用Java Web技术构建的在线平台,它允许用户发布、分享和阅读文章。这种系统的核心特点在于其稳定性和可扩展性,使得它能够处理大量并发访问,同时保持数据的安全和一致性。 Java Web...

    基于Java Web的博客网站.rar

    【标题】: "基于Java Web的博客网站" 是一个使用Java技术栈开发的Web应用程序,主要功能是构建一个在线博客平台。这个项目充分利用了Java Web技术的优势,为用户提供发布、阅读和评论博客的功能。 【描述】: 这个...

    java web 博客

    Java Web 博客系统是一种基于Java技术构建的网络应用程序,主要用于个人或团队发表文章、分享观点、提供互动交流的平台。在这个系统中,用户可以进行登录、注册、发布文章、评论、删除文章等一系列操作。下面我们将...

    基于Java Web的博客系统(含数据库文件)

    这是一个基于Java Web技术开发的博客系统项目,包含了完整的源代码以及相关的数据库文件。这个项目对于学习和理解Java Web开发有着重要的实践价值。下面将详细解释其中涉及的关键知识点。 1. **Java Web技术**:...

    基于Java Web的博客系统【源代码+PPT】

    本篇将深入探讨一个基于Java Web的博客系统,它展示了如何利用Java技术栈构建一个功能完备、用户体验良好的在线博客平台。 一、项目概述 该项目名为"基于Java Web的博客系统",提供了完整的源代码和PPT讲解材料,供...

    基于Java Web的个人博客1

    基于Java Web的个人博客系统设计 本资源摘要信息将详细介绍基于Java Web的个人博客系统的设计和实现,涵盖了前端、后端、前后端通信和会话、网站设计、项目架构等方面的知识点。 一、前端(客户端、浏览器端) 1....

    基于Java Web的智能二维码门禁管理系统本科毕业设计论文+源码(高分毕设)

    基于Java Web的智能二维码门禁管理系统本科毕业设计论文+源码(高分毕设)基于Java Web的智能二维码门禁管理系统本科毕业设计论文+源码(高分毕设)基于Java Web的智能二维码门禁管理系统本科毕业设计论文+源码...

Global site tag (gtag.js) - Google Analytics