SSM整合-前后台协议联调(列表功能、添加功能、添加功能状态处理、修改功能、删除功能)

简介: SSM整合-前后台协议联调(列表功能、添加功能、添加功能状态处理、修改功能、删除功能)

一、列表功能

SpringMVC设定拦截了所有路径,它把页面的请求也拦截了,如果去访问页面,一定找不到,过不了SpringMVC,所以需要加一个新的配置类,进行资源的放行。


SpringMvcSupport配置类

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class SpringMvcSupport extends WebMvcConfigurationSupport {
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/pages/**").addResourceLocations("/pages/");
        registry.addResourceHandler("/css/**").addResourceLocations("/css/");
        registry.addResourceHandler("/js/**").addResourceLocations("/js/");
        registry.addResourceHandler("/plugins/**").addResourceLocations("/plugins/");
    }
}

写完配置之后,要让SpringMVC加载上,在@ComponentScan进行加载。

@Configuration
@ComponentScan({"com.itheima.controller","com.itheima.config"})
@EnableWebMvc
public class SpringMvcConfig {
}

发送ajax请求,得到返回值,让当前的数据模型加载从后台传进来的数据


books.html

          //列表
          getAll() {
               //发送ajax请求
               axios.get("/books").then((res)=>{
                   this.dataList = res.data.data;
               });
           },

页面列表展示效果

4cb502b5eb5c414c979e19520ff5f8e3.png

二、添加功能

弹出添加窗口功能

//弹出添加窗口
           handleCreate() {
               this.dialogFormVisible = true;
               this.resetForm();
           },

添加功能

//添加
           handleAdd () {
               //发送ajax请求
               axios.post("/books",this.formData).then((res)=>{
                   //如果操作成功,关闭弹层,显示数据
                       this.dialogFormVisible = false;
                       this.getAll();
               });
           },

添加功能效果

d4e44470f51c4d5486fa0d3dd8ac36e5.png

添加成功后效果

e1f6be5c358148648558936c11f437f9.png

三、添加功能状态处理

给添加功能状态处理,如有异常进行状态显示,无异常成功。

//添加
           handleAdd () {
               //发送ajax请求
               axios.post("/books",this.formData).then((res)=>{
                   console.log(res.data);
                   //如果操作成功,关闭弹层,显示数据
                   if(res.data.code == 20011){
                       this.dialogFormVisible = false;
                       this.$message.success("添加成功");
                   }else if(res.data.code == 20010){
                       this.$message.error("添加失败");
                   }else{
                       this.$message.error(res.data.msg);
                   }
               }).finally(()=>{
                   this.getAll();
               });
           },

添加成功效果

59ed764a6b5847cb8323aed4b910bd97.png

在BookServiceImpl中添加受影响行数大于0,受影响行数大于0为真,等于0为假

public boolean save(Book book) {
        return bookDao.save(book) > 0;
    }
    public boolean update(Book book) {
        return bookDao.update(book) > 0;
    }
    public boolean delete(Integer id) {
        return bookDao.delete(id) > 0;
    }

添加操作时输入大于数据表要求字段的最大长度20,既能得到失败效果

35152a341eb54743be3c11b7c3e53af4.png

414ccf8297c24884b0b468008ba97234.png

因为做了双向绑定,所以会进行回显,进行重置表单,在弹出添加功能进行调用。

//重置表单
           resetForm() {
               this.formData = {};
           },

四、修改功能

弹出编辑窗口,根据id查询,进行展示弹层,加载数据。

//弹出编辑窗口
           handleUpdate(row) {
               //查询数据,根据id查询
               axios.get("/books/"+row.id).then((res)=>{
                   if(res.data.code == 20041){
                       //展示弹层,加载数据
                       this.formData = res.data.data;
                       this.dialogFormVisible4Edit = true;
                   }else{
                       this.$message.error(res.data.msg);
                   }
               });
           },

编辑窗口效果

248a859a0bd34cc980df42cd1d233e40.png

编辑功能与添加功能差不多,修改put请求及修改相应的状态码和对应的提示信息即可。

//编辑
           handleEdit() {
               //发送ajax请求
               axios.put("/books",this.formData).then((res)=>{
                   //如果操作成功,关闭弹层,显示数据
                   if(res.data.code == 20031){
                       this.dialogFormVisible4Edit = false;
                       this.$message.success("修改成功");
                   }else if(res.data.code == 20030){
                       this.$message.error("修改失败");
                   }else{
                       this.$message.error(res.data.msg);
                   }
               }).finally(()=>{
                   this.getAll();
               });
           },

修改成功功能效果

f6f1bcb95d83484085987a8b96750f00.png

84a55cb2d1844c74ae9a5f21d4c05915.png

修改失败功能效果

dd29475e3ab34c388c02bed0339010d4.png

f469794dddc9411495df3e600c7ee5cf.png

五、删除功能

弹出提示框,提示操作,根据id进行删除,还进行取消删除操作提示。

// 删除
           handleDelete(row) {
               //1.弹出提示框
               this.$confirm("此操作永久删除当前数据,是否继续?","提示",{
                   type:'info'
               }).then(()=>{
                   //2.做删除业务
                   axios.delete("/books/"+row.id).then((res)=>{
                       if(res.data.code == 20021){
                           this.$message.success("删除成功");
                       }else{
                           this.$message.error("删除失败");
                       }
                   }).finally(()=>{
                       this.getAll();
                   });
               }).catch(()=>{
                   //3.取消删除
                   this.$message.info("取消删除操作");
               });
           }

删除提示框效果

f19fee6b697344e08827a7331c3771ab.png

删除成功效果

77c080b8f88941d2a1210ca9a3f96018.png

删除取消效果

12ce77fc020a4a02b23f7f1a13c99cce.png

目录
相关文章
|
9月前
|
缓存 NoSQL Java
在 SSM 架构(Spring + SpringMVC + MyBatis)中,可以通过 Spring 的注解式缓存来实现 Redis 缓存功能
【6月更文挑战第18天】在SSM(Spring+SpringMVC+MyBatis)中集成Redis缓存,涉及以下步骤:添加Spring Boot的`spring-boot-starter-data-redis`依赖;配置Redis连接池(如JedisPoolConfig)和连接工厂;在Service层使用`@Cacheable`注解标记缓存方法,指定缓存名和键生成策略;最后,在主配置类启用缓存注解。通过这些步骤,可以利用Spring的注解实现Redis缓存。
105 2
|
9月前
|
Java 数据库连接 容器
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】(1)
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】
|
9月前
|
前端开发
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】(3)
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】
|
9月前
|
JSON 前端开发 程序员
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】(2)
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】
|
1月前
|
存储 Java 关系型数据库
ssm026校园美食交流系统(文档+源码)_kaic
本文介绍了基于Java语言和MySQL数据库的校园美食交流系统的设计与实现。该系统采用B/S架构和SSM框架,旨在提高校园美食信息管理的效率与便捷性。主要内容包括:系统的开发背景、目的及内容;对Java技术、MySQL数据库、B/S结构和SSM框架的介绍;系统分析部分涵盖可行性分析、性能分析和功能需求分析;最后详细描述了系统各功能模块的具体实现,如登录、管理员功能(美食分类管理、用户管理等)和前台首页功能。通过此系统,管理员可以高效管理美食信息,用户也能方便地获取和分享美食资讯,从而提升校园美食交流的管理水平和用户体验。
|
5天前
|
Java 关系型数据库 MySQL
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
本文针对高校体育场管理系统的开发与实现进行详细介绍。随着经济快速发展,人们对手机软件需求增加,高校体育场管理系统应运而生。系统采用JAVA技术、Mysql数据库和SSM框架等成熟技术,通过分析功能需求、可行性及性能,设计出包含管理员、用户和学生角色的功能模块。系统实现用户注册登录、信息管理等功能,简化传统手工统计模式,提高管理效率,满足用户对信息获取的及时性与准确性需求。
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
|
9天前
|
前端开发 Java 关系型数据库
基于ssm的社区物业管理系统,附源码+数据库+论文+任务书
社区物业管理系统采用B/S架构,基于Java语言开发,使用MySQL数据库。系统涵盖个人中心、用户管理、楼盘管理、收费管理、停车登记、报修与投诉管理等功能模块,方便管理员及用户操作。前端采用Vue、HTML、JavaScript等技术,后端使用SSM框架。系统支持远程安装调试,确保顺利运行。提供演示视频和详细文档截图,帮助用户快速上手。
41 17
|
12天前
|
前端开发 Java 关系型数据库
基于ssm的超市会员(积分)管理系统,附源码+数据库+论文,包安装调试
本项目为简单内容浏览和信息处理系统,具备管理员和员工权限。管理员可管理会员、员工、商品及积分记录,员工则负责积分、商品信息和兑换管理。技术框架采用Java编程语言,B/S架构,前端使用Vue+JSP+JavaScript+Css+LayUI,后端为SSM框架,数据库为MySQL。运行环境为Windows,JDK8+Tomcat8.5,非前后端分离的Maven项目。提供演示视频和详细文档,购买后支持免费远程安装调试。
63 19
|
13天前
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
55 17
|
11天前
|
前端开发 Java 关系型数据库
基于ssm的网络直播带货管理系统,附源码+数据库+论文
该项目为网络直播带货网站,包含管理员和用户两个角色。管理员可进行主页、个人中心、用户管理、商品分类与信息管理、系统及订单管理;用户可浏览主页、管理个人中心、收藏和订单。系统基于Java开发,采用B/S架构,前端使用Vue、JSP等技术,后端为SSM框架,数据库为MySQL。项目运行环境为Windows,支持JDK8、Tomcat8.5。提供演示视频和详细文档截图。
44 10

热门文章

最新文章