SSM整合2(把数据库中的商品信息显示到页面上并进行简单的增删改查、文件上传、Oscache页面缓存的使用、FreeMarker的使用、SpringMVC拦截器的使用)

SSM整合2

1. 显示商品信息(简单的增删改查)

  • 在前一天SSM整合的基础上,搬砖
  1. 在ItemsController中写一个list方法,用于将数据库中的商品信息显示到页面上
    在这里插入图片描述
	@RequestMapping("list")
    public String list(Model model){
   
        //1.查数据
        List<Items> itemsList = itemsService.findAll();
        //2.存数据
        model.addAttribute("itemsList",itemsList);
        return "/items/itemsList";
    }
  1. 在itemsList.jsp中取出(从数据库中取出)保存到作用域中的数据,显示到页面上
    在这里插入图片描述
<%--
  Created by IntelliJ IDEA.
  User: shuyy
  Date: 2020/10/10
  Time: 19:51
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>商品列表</title>
</head>
<body>
<table border="1">
    <caption>商品列表</caption>
    <tr align="center">
        <td>名称</td>
        <td>价格</td>
        <td>描述</td>
        <td>图片</td>
        <td>创建时间</td>
        <td colspan="2">操作</td>
    </tr>
<c:forEach items="${itemsList}" var="items">
    <tr>
        <td>${items.name}</td>
        <td>${items.price}</td>
        <td>${items.detail}</td>
        <td>${items.pic}</td>
        <td>${items.createtime}</td>
        <td><a href="${pageContext.request.contextPath}/items/delete.do?id=${items.id}">删除</a></td>
        &nbsp;<td><a href="${pageContext.request.contextPath}/items/edit.do?id=${items.id}">修改</a></td>
    </tr>
</c:forEach>
</table>
</body>
</html>

  1. 效果
    在这里插入图片描述

2. 删除商品

  • 写一个删除方法delete
    在这里插入图片描述
  • 根据传回来的id,删除数据库中的数据,删除完后返回到商品信息显示页面
	@RequestMapping("delete")
    public String delete(Integer id){
   
        //根据id删除
        itemsService.deleteById(id);
        //转发到同一个方法的list.do
        return "forward:list.do";
    }
  • 上面的写法点击删除会直接删除掉信息,不是很友好,下面添加一下提示
    在这里插入图片描述
<a href="javascript:if(window.confirm('是否删除?')){window.location.href='${pageContext.request.contextPath}/items/delete.do?id=${items.id}'}">删除</a>
  • 效果
    在这里插入图片描述
    在这里插入图片描述

3. 显示修改商品信息页面

  • 写一个edit方法,点击修改后,进入修改信息页面
    在这里插入图片描述
	@RequestMapping("edit")
    public String edit(Integer id,Model model){
   
        System.out.println("id:"+id);
        //根据id查找商品
        Items items = itemsService.findById(id);
        if (items != null){
   
          model.addAttribute("items",items);
        }
        return "/items/itemsEdit";
    }
  • 商品信息详情页面,itemsEdit.jsp
    在这里插入图片描述
<%--
  Created by IntelliJ IDEA.
  User: shuyy
  Date: 2020/10/10
  Time: 19:51
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<html>
<head>
    <title>编辑商品</title>
</head>
<body>
编辑商品<br>
<form action="${pageContext.request.contextPath}/items/update.do" method="post">
<table border="1">
    <tr>
        <td>名称</td>
        <td><input type="text" name="name" value="${items.name}">
            <input type="hidden" name="id" value="${items.id}"></td>
    </tr>
    <tr>
        <td>价格</td>
        <td><input type="text" name="price" value="${items.price}">
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值