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

目录
相关文章
|
6月前
|
缓存 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缓存。
79 2
|
6月前
|
Java 数据库连接 容器
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】(1)
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】
|
6月前
|
前端开发
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】(3)
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】
|
6月前
|
JSON 前端开发 程序员
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】(2)
SpringMVC(四)【SSM 整合、统一结果封装、异常处理、前后台协议联调】
|
4月前
|
Java 数据库连接 Maven
手把手教你如何搭建SSM框架、图书商城系统案例
这篇文章是关于如何搭建SSM框架以及实现一个图书商城系统的详细教程,包括了项目的配置文件整合、依赖管理、项目结构和运行效果展示,并提供了GitHub源码链接。
手把手教你如何搭建SSM框架、图书商城系统案例
|
3月前
|
Java 应用服务中间件 数据库连接
ssm项目整合,简单的用户管理系统
文章介绍了一个使用SSM框架(Spring、SpringMVC、MyBatis)构建的简单用户管理系统的整合过程,包括项目搭建、数据库配置、各层代码实现以及视图展示。
ssm项目整合,简单的用户管理系统
|
6月前
|
前端开发 JavaScript Java
计算机Java项目|SSM智能仓储系统
计算机Java项目|SSM智能仓储系统
|
3月前
|
XML Java 数据库连接
如何搭建SSM框架、图书商城系统
这是一份详尽的《Spring + SpringMVC + Mybatis 整合指南》,作者耗时良久整理出约五万字的内容,现已经全部笔记公开。此文档详细地介绍了如何搭建与整合SSM框架,具体步骤包括创建Maven项目、添加web骨架、配置pom文件以及整合Spring、SpringMVC和Mybatis等。无论是对初学者还是有一定基础的开发者来说,都是很好的学习资源。此外,作者还提供了项目源码的GitHub链接,方便读者实践。虽然当前主流推荐学习SpringBoot,但了解SSM框架仍然是不可或缺的基础。
37 0
|
4月前
|
SQL Java 应用服务中间件
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
这篇文章是关于如何使用SSM框架搭建图书商城管理系统的教程,包括完整过程介绍、常见问题解答和售后服务,提供了项目地址、运行环境配置、效果图展示以及运行代码的步骤。
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
|
5月前
|
存储 关系型数据库 测试技术
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)(2)
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)
72 1