SpringMVC修改功能
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修改功能的更多相关文章
- SpringMVC由浅入深day01_9商品修改功能开发
9 商品修改功能开发 9.1 需求 操作流程: 1.进入商品查询列表页面 2.点击修改,进入商品修改页面,页面中显示了要修改的商品(从数据库查询) 要修改的商品从数据库查询,根据商品id(主键)查询商 ...
- php大力力 [052节] php数据库页面修改功能
php大力力 [052节] php数据库页面修改功能
- SpringMVC学习--功能完善
简介 在基本的项目中,无非就是基本的增删改查,前面我们已经实现了一个简单的查询功能,现在来实现增删改功能,来了解实际开发中的运用,以修改功能为例,因为修改功能基本覆盖了增加和删除的运用. 前面我们实现 ...
- ajax 实现修改功能
这段时间在做项目,发现自己忘得好快呀,幸亏有博客园帮我记着呢,整理博客园简直不要太重要了哦 因为做的是一个内部管理系统,只用了一个主页面,所有的都不允许整个网页刷新,所以我们只能用ajax 来做,当 ...
- JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能
1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建data ...
- 系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面
改进_使用ModelDroven方案 @Controller @Scope("prototype") public class RoleAction extends ActionS ...
- 如何使Label有修改功能
如何使Label有修改功能 之前制作一个项目时需要这样一个功能: 双击Label, 随后Label变为TextBox,用户修改后回车,TextBox变回Label 之前使用WPF做了一个,代码如下: ...
- Spring Boot2.0+中,自定义配置类扩展springMVC的功能
在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js.css等). @Configur ...
- 轻松搭建CAS 5.x系列(5)-增加密码找回和密码修改功能
概述说明 CAS内置了密码找回和密码修改的功能: 密码找回功能是,系统会吧密码重置的连接通过邮件或短信方式发送给用户,用户点击链接后就可以重置密码,cas还支持预留密码重置的问题,只有回答对了,才可以 ...
随机推荐
- sql mysql和sqlserver存在就更新,不存在就插入的写法(转)
转自:http://hi.baidu.com/tidy0608/item/ff930fe2436f2601560f1dd9 sqlsever数据存在就更新,不存在就插入的两种方法 两种经常使用的方法: ...
- socket_IO模型
1 背景知识 1.1 用户空间和内核空间 比如32位系统,寻址空间是4G.内存分为用户空间和内核空间,内核空间仅供内核使用,用户空间给各个进程使用.os的核心是内核,只有内核可以访问被保护的内存空间. ...
- python高级函数
1 函数 1.1 函数即变量 函数定义:把一个函数体作为变量赋值给一个函数名,同时函数体存放到内存中. 函数调用:根据函数名去内存中寻找对用的函数体,找到了就执行. >>> def ...
- 后缀数组 DC3构造法 —— 详解
学习了后缀数组,顺便把DC3算法也看了一下,传说中可以O(n)复杂度求出文本串的height,先比较一下倍增算法和DC3算法好辣. DC3 倍增法 时间复杂度 O(n)(但是常数很大) O(nlo ...
- 洛谷 P4135 作诗
分块大暴力,跟区间众数基本一样 #pragma GCC optimize(3) #include<cstdio> #include<algorithm> #include< ...
- hibernate Day1
1 Web内容回顾(1) JavaEE三层架构web层(struts2框架)service层(spring框架)dao层(hibernate框架):负责对数据库进行CRUD操作(2) MVC模式(这是 ...
- h5-35-ajax轮询实现推送效果
data.txt { "number1":1200, } index.html <!DOCTYPE html> <html> <head> &l ...
- Eclipse安装jad反编译插件(在线安装)
Help→Eclipse Marketplace→Find→jad 然后等安装完成重启eclipse即可
- HtmlUnit爬取Ajax动态生成的页面内容
HtmlUnit说白了就是一个浏览器,这个浏览器是用Java写的无界面的浏览器,正因为其没有界面,因此执行的速度还是可以滴. HtmlUnit提供了一系列的API,这些API可以干的功能比较多,如表单 ...
- android studio 定时器操作 实现定时执行相关任务
package ipget.wenzheng.studio.ipget; import android.os.Bundle; import android.os.Handler; import and ...