articleList.jsp

<%@  taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<html>

<head>

<title>All Articles</title>

</head>

<body>

<h1>List Articles</h1>

<a href="articles/add.html">Add Article</a>

<c:if test="${!empty articles}">

<table>

<tr>

<th>Article ID</th>

<th>Article Name</th>

<th>Article Desc</th>

<th>Added Date</th>

</tr>

<c:forEach items="${articles}" var="article">

<tr>

<td><c:out value="${article.articleId}"/></td>

<td><c:out value="${article.articleName}"/></td>

<td><c:out value="${article.articleDesc}"/></td>

<td><c:out value="${article.addedDate}"/></td>

<!-- <td><a href="#" onclick="getData('articles.do?actionMethod=delete&queryId=${article.articleId}','','workspace');">delete</a></td>  -->

<!-- <td><a href="/articles/delete/${article.articleId}">delete</a></td>  -->
<td><a href="articles/delete.do?ID=${article.articleId}">delete</a></td>
<td><a href="articles/edit.do?ID=${article.articleId}">edit</a></td>
</tr> </c:forEach> </table> </c:if> </body>
</html>

DeleteArticle.java

从上个页面获取ID值,并且赋给ids

 package net.roseindia.controller;
import net.roseindia.model.Article;
import net.roseindia.service.ArticleService; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView; @Controller
@RequestMapping("/articles")
public class DeleteController {
@Autowired
private ArticleService articleService; @RequestMapping(value="/delete")
public String deleteService(@RequestParam("ID") final Integer ids) {
System.out.println("delete"+"ID="+ids);
articleService.deleteService(ids); return "redirect:/articles.html"; }
@RequestMapping(value="/edit")
public ModelAndView editSerivie(@RequestParam("ID") final Integer ids,
@ModelAttribute("article") Article article,BindingResult result,final Model model){
System.out.println("edit ID"+ids);
model.addAttribute("articleId",ids);
return new ModelAndView("editArticle"); }
/**
@RequestMapping(value = "/add", method = RequestMethod.GET)
public ModelAndView addArticle(@ModelAttribute("article") Article article,
BindingResult result) {
return new ModelAndView("addArticle");
}**/
}

把ids给articleId

articleId作为模型属性能够传给jsp页面

editArticle.jsp

 <%@  taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 <%@  taglib  uri="http://www.springframework.org/tags/form" prefix="form"%>

 <html>

 <head><title>Edit Article</title></head>

 <body>

 <h1>Edit Article</h1>

 <c:url var="viewArticlesUrl" value="/articles.html" />

 <a href="${viewArticlesUrl}">Show All Articles</a>

 <br />

 <br />

 <c:url var="editSaveArticleUrl" value="/articles/editSave.html?ID=${articleId}" />

 <form:form modelAttribute="article" method="POST" action="${editSaveArticleUrl}">

 <c:out value="Article ID:"></c:out>
<c:out value="${articleId}"/>
<br />
<br /> <form:label path="articleName">Article Name:</form:label> <form:input path="articleName" /> <br /> <form:label path="articleDesc">Article Desc:</form:label> <form:textarea path="articleDesc" /> <br /> <input type="submit" value="Save Article" /> </form:form> </body> </html>

点击保存后被ArticleController捕获,并做处理,在Dao层进行update数据!做完处理后显示在article.html页面

ArticleController.java

 package net.roseindia.controller;

 import java.util.HashMap;
import java.util.Map; import net.roseindia.model.Article;
import net.roseindia.service.ArticleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView; @Controller
@RequestMapping("/articles")
public class ArticleController { @Autowired
private ArticleService articleService; @RequestMapping(value = "/save", method = RequestMethod.POST)
public ModelAndView saveArticle(@ModelAttribute(" article") Article article,
BindingResult result) {
System.out.println("save's articleName"+article.getArticleName());
articleService.addArticle(article);
return new ModelAndView("redirect:/articles.html");
} @RequestMapping(value = "/editSave", method = RequestMethod.POST)
public ModelAndView editSaveArticle(@RequestParam("ID") final Integer ids,
@ModelAttribute(" article") Article article,
BindingResult result) {
System.out.println("editSaveController--id"+ids);
System.out.println("editSave's articleName"+article.getArticleName());
articleService.updateArticle(article,ids);
return new ModelAndView("redirect:/articles.html");
} /**@RequestMapping(value="/delete",method = RequestMethod.POST)
public String deleteService(@RequestParam("ID") final Integer ids) {
System.out.println("hello"+"ID="+ids);
articleService.deleteService(ids);
return "redirect:/articles.html";
}
**/ @RequestMapping(method = RequestMethod.GET)
public ModelAndView listArticles() {
Map<String, Object> model = new HashMap<String, Object>();
model.put("articles", articleService.listArticles()); return new ModelAndView("articlesList", model);
} @RequestMapping(value = "/add", method = RequestMethod.GET)
public ModelAndView addArticle(@ModelAttribute("article") Article article,
BindingResult result) {
return new ModelAndView("addArticle");
} }

ArticleDaoImpl.java

在Dao层进行update数据!做完处理后显示在article.html页面

 package net.roseindia.dao;

 import java.util.Date;
import java.util.List; import net.roseindia.model.Article; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository; @Repository("articleDao")
public class ArticleDaoImpl implements ArticleDao { @Autowired
private SessionFactory sessionFactory; // To Save the article detail
public void saveArticle(Article article) {
article.setAddedDate(new Date());
sessionFactory.getCurrentSession().saveOrUpdate(article);
}
public void deleteArticle(Integer articleId){
System.out.println("Dao-->"+articleId);
Session session=sessionFactory.openSession();
Article article = (Article) session.get( Article.class,articleId);
session.beginTransaction();
if (null != article) {
session.delete(article);
}
session.getTransaction().commit();
session.close(); }
public void updateArticle(Article article,Integer ids){
System.out.println("upadateDao--->"+ids);
System.out.println("upadateDao--->"+article.getArticleName());
Session session=sessionFactory.openSession();
session.beginTransaction();
Article newArticle=(Article)session.get(Article.class, ids);
newArticle.setArticleName(article.getArticleName());
newArticle.setArticleDesc(article.getArticleDesc());
session.update(newArticle);
session.getTransaction().commit();
session.clear(); }
// To get list of all articles
@SuppressWarnings("unchecked")
public List<Article> listArticles() {
return (List<Article>) sessionFactory.getCurrentSession().createCriteria(Article.class).list();
}
}

SpringMVC修改功能的更多相关文章

  1. SpringMVC由浅入深day01_9商品修改功能开发

    9 商品修改功能开发 9.1 需求 操作流程: 1.进入商品查询列表页面 2.点击修改,进入商品修改页面,页面中显示了要修改的商品(从数据库查询) 要修改的商品从数据库查询,根据商品id(主键)查询商 ...

  2. php大力力 [052节] php数据库页面修改功能

    php大力力 [052节] php数据库页面修改功能

  3. SpringMVC学习--功能完善

    简介 在基本的项目中,无非就是基本的增删改查,前面我们已经实现了一个简单的查询功能,现在来实现增删改功能,来了解实际开发中的运用,以修改功能为例,因为修改功能基本覆盖了增加和删除的运用. 前面我们实现 ...

  4. ajax 实现修改功能

    这段时间在做项目,发现自己忘得好快呀,幸亏有博客园帮我记着呢,整理博客园简直不要太重要了哦  因为做的是一个内部管理系统,只用了一个主页面,所有的都不允许整个网页刷新,所以我们只能用ajax 来做,当 ...

  5. JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能

    1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建data ...

  6. 系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面

    改进_使用ModelDroven方案 @Controller @Scope("prototype") public class RoleAction extends ActionS ...

  7. 如何使Label有修改功能

    如何使Label有修改功能 之前制作一个项目时需要这样一个功能: 双击Label, 随后Label变为TextBox,用户修改后回车,TextBox变回Label 之前使用WPF做了一个,代码如下: ...

  8. Spring Boot2.0+中,自定义配置类扩展springMVC的功能

    在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js.css等). @Configur ...

  9. 轻松搭建CAS 5.x系列(5)-增加密码找回和密码修改功能

    概述说明 CAS内置了密码找回和密码修改的功能: 密码找回功能是,系统会吧密码重置的连接通过邮件或短信方式发送给用户,用户点击链接后就可以重置密码,cas还支持预留密码重置的问题,只有回答对了,才可以 ...

随机推荐

  1. Mirror Number SPOJ - MYQ10

    Mirror Number SPOJ - MYQ10 题意:http://blog.csdn.net/hcbbt/article/details/38349367 稍微改一下http://www.cn ...

  2. zabbix 安装小结

    其实很简单的东西,结果折腾了好久.首先去官网 下个source,然后按照文档来 https://www.zabbix.com/documentation/3.2/manual/installation ...

  3. jmeter(二十一)JMeter 命令行(非GUI)

    一.应用场景 1.无需交互界面或受环境限制(linux text model) 2.远程或分布式执行 3.持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于 ...

  4. 138 Copy List with Random Pointer 复制带随机指针的链表

    给出一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点.返回一个深拷贝的链表. 详见:https://leetcode.com/problems/copy-list- ...

  5. HDU 1423 LICS 模板

    http://acm.hdu.edu.cn/showproblem.php?pid=1423 4.LICS.O(lena * lenb) 设dp[i][j]表示a[]的前i项,以b[]的第j项结尾时, ...

  6. FileZilla Server 端设置passive模式注意事项

    1,需求和问题的产生 实践中需要分布在各地的各个客户端向云端服务器上传文件,因此在阿里云服务器上安装了FileZilla Server软件作为文件FTP服务端. 客户端程序采用FTP方式向服务端传输文 ...

  7. anzhuaggeoip

    1.因启动geoip模块,需要先安装GeoIP # wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz # tar xv ...

  8. [Python學習筆記] 使用 selenium 抓取網頁並且雙擊滑鼠 (double click)

    一開始使用的時候 看官方文件 以為使用 double_click()即可 但後來出現錯誤 AttributeError: 'WebElement' object has no attribute 'd ...

  9. 三星系列NXP系列核心板设计研发-迅为嵌入式ARM方案提供商

    多种核心板平台,从硬件原型设计.layout.硬件驱动,操作系统移植.中间到上层应用等方面. 三星系列核心板: 1. SCP-4412核心板 三星Exynos4412 四核 Cortex-A9 主频为 ...

  10. k8s 核心功能[转]

    部署应用 执行命令: kubectl run kubernetes-bootcamp \ --image=docker.io/jocatalin/kubernetes-bootcamp:v1 \ -- ...