【SpringMVC】实现增删改查(附源码)
以下是一个简单的Spring MVC应用程序,展示了如何实现增删改查功能的例子。
首先,你需要在你的Spring MVC配置文件中添加以下内容:
<!-- 启用Spring MVC @Controller 注解支持 -->
<mvc:annotation-driven />
<!-- 设置静态资源(js、css、图片等)的访问 -->
<mvc:resources mapping="/resources/**" location="/resources/" />
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
然后,创建一个控制器(Controller):
@Controller
@RequestMapping("/items")
public class ItemController {
private Map<Integer, Item> itemMap = new HashMap<>();
private static int lastId = 0;
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(Model model) {
model.addAttribute("items", itemMap.values());
return "itemList";
}
@RequestMapping(value = "/add", method = RequestMethod.GET)
public String addForm(Model model) {
model.addAttribute("item", new Item());
return "itemForm";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String add(@ModelAttribute Item item) {
item.setId(++lastId);
itemMap.put(item.getId(), item);
return "redirect:/items/list";
}
@RequestMapping(value = "/edit/{id}", method = RequestMethod.GET)
public String editForm(@PathVariable("id") int id, Model model) {
Item item = itemMap.get(id);
if (item == null) {
return "redirect:/items/list";
}
model.addAttribute("item", item);
return "itemForm";
}
@RequestMapping(value = "/edit/{id}", method = RequestMethod.POST)
public String edit(@PathVariable("id") int id, @ModelAttribute Item item) {
itemMap.put(id, item);
return "redirect:/items/list";
}
@RequestMapping(value = "/delete/{id}", method = RequestMethod.GET)
public String delete(@PathVariable("id") int id) {
itemMap.remove(id);
return "redirect:/items/list";
}
}
在这个控制器中,我们使用了@Controller
注解来标识这是一个控制器组件,并通过@RequestMapping
注解来映射URL路径到控制器方法。
对于增加和编辑操作,我们使用了@ModelAttribute
注解来绑定请求参数到Java对象。对于删除操作,我们简单地从itemMap中移除对应的Item对象。
最后,你需要创建两个视图页面:itemList.jsp
用于展示项目列表和一个itemForm.jsp
用于展示添加和编辑表单。
itemList.jsp
示例:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Item List</t
评论已关闭