项目搭建+修改

一 : 在列表成功回调函数,追加数据中,添加修改的按钮

for (let x of res) {//追加数据$("#table").append(`<tr><td><input type="checkbox" class="ck" value="\${x.uid}"></td><td>\${x.uid}</td><td>\${x.userName}</td><td>\${x.state==0?"启用":"禁用"}</td><td>\${x.time}</td><td><input type="button" value="修改" onclick="toUpd(\${x.uid})" ><input type="button" value="删除" onclick="UserDel(\${x.uid})" ><input type="button" value="修改角色" onclick="setRole(\${x.uid})"></td></tr>`)}},

        一 ①: 修改使用id路径传参

/*** 回显 先回显再去修改的页面** @param goodsId*/function goodsUpd(goodsId) {/*跳转路径去修改页面*/location.href="upd.jsp?goodsId="+goodsId;}

二 : upd.jsp页面

1.创建需要修改的文本框

<%--创建回显的文本框  不要名字 这个月都没有名字--%>
<%--用户ID :  <input type="text"  id="uid"><br>--%>
用户姓名 : <input type="text"  id="userName"><br>
用户状态 : <input type="text"  id="state"><br>

2.修改按钮

<%--修改按钮--%>
<input type="button" value="修改" id="upd">

3.修改路径传参需要接参

<%--获取路径传参的值--%>
<input type="hidden" value="${param.goodsId}" id="goodsId">

4.head中写预加载数据使用文档就绪函数

        3.① :文档就绪函数

                $(function{

                        1.调用回显的函数

                })

//文档就绪函数  回显的$(function () {//调用回显的函数findById()})
        3.② : 回显的函数方法

                function findById(){

                        1.取值 (取的是需要修改的字段,修改/回显/删除 都是根据id进行的)

                        2.非空校验

                        3.组装对象

                                回显组装对象获取的也是需要修改的字段

                        4.ajax

                        }

/*回显函数*/function findById() {/*取值*/let goodsId=$("#goodsId").val()/*非空校验*/if (!goodsId){alert("请先输入")//用来结束使用的return;}/*组装对象*/let obj={goodsId:goodsId}/*ajax*/$.ajax({url:"/goods/findById", //请求路径type:"post",//请求方法data:{reqInfos:JSON.stringify(obj)}, //路径转换dataType:"json", //解析success(res){//打印console.log(res)//获取值$("#goodsId").val(res.goodsId)$("#goodsCode").val(res.goodsCode)$("#goodsName").val(res.goodsName)$("#price").val(res.price)$("#num").val(res.num)$("#time").val(res.time)$("#typeId").val(res.typeId)$("#supplierId").val(res.supplierId)$("#imgUrl").attr("src","/file/showImg?imgUrl="+res.imgUrl)},error(){alert("不要进来了,出错了")}})}

5. 在body下面脚本里

                5.①给修改按按钮绑定点击事件
                        1.取值
                        2.组装对象
                        3.ajax  ( 成功回调函数中修改完跳转列表页面 )
/*** 给修改绑定一个点击事件*/$("#goodsUpd").click(function () {//要传传路径let imgUrl =""//获取第一个图片let file = $("#file")[0].files[0];//new FormData 对象let formData = new FormData;//获将图片添加到对象formData.append("file",file)$.ajax({url: "/file/upload",type: "post",data: formData,async: false,cache: false,contentType: false,processData: false,dataType: "json",success(res) {imgUrl=res},error() {alert("图片加载失败")}})//取值let goodsId = $("#goodsId").val()let goodsCode = $("#goodsCode").val()let goodsName = $("#goodsName").val()let price = $("#price").val()let num = $("#num").val()let time = $("#time").val()let typeId = $("#typeId").val()let supplierId = $("#supplierId").val()//非空校验if (!goodsId || !goodsCode || !goodsName || !price || !num || !time || !typeId  || !supplierId){alert("请先输入")return;}//组装对象let obj={goodsId,goodsCode,goodsName,price,num,time,typeId,supplierId,imgUrl}/*ajax*/$.ajax({url:"/goods/goodsUpd", //请求路径type:"post",//请求方法data:{reqInfos:JSON.stringify(obj)}, //路径转换dataType:"json", //解析success(res){//打印console.log(res)if (res===200){/*** 跳转列表页面* @type {string}*/location.href="list.jsp"}},error(){alert("不要进来了,出错了")}})})

三 : Controller层

        1.接参
        2.将json对象转换成ava对象
        3.将转换后的对象传给service
        4.处理返回值响应给用户(添加/修改/删除 返200)
/*** 修改*/protected void goodsUpd(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//接参String reqInfos = req.getParameter("reqInfos");//将json对象转换成Java对象GoodsVo goodsVo = JSONObject.parseObject(reqInfos, GoodsVo.class);//将转换后对象传给serviceservice.goodsUpd(goodsVo);//处理返回结果响应给用户resp.getWriter().println(JSONObject.toJSONString(200));}

四 : service层

1.调用dao层方法
2.处理返回值
 /*** 回显* @param goodsId* @return*/@Overridepublic GoodsVo findById(Integer goodsId) {//调用dao层方法//处理返回值return goodsDao.findById(goodsId);}/*** 修改* @param goodsVo*/@Overridepublic void goodsUpd(GoodsVo goodsVo) {goodsDao.goodsUpd(goodsVo);}

五 : dao层

1.定义sql语句
2.执行sql语句
/*** 回显* @param goodsId* @return*/@Overridepublic GoodsVo findById(Integer goodsId) {/*定义sql语句*/String sql="SELECT *FROM t_goods WHERE goods_id=? ";/*执行sql语句*/return baseQueryOne(GoodsVo.class,sql,goodsId);}/*** 修改* @param goodsVo*/@Overridepublic void goodsUpd(GoodsVo goodsVo) {/*定义sql*/String sql="UPDATE t_goods SET goods_code=?,goods_name=?,price=?,num=?,time=?,type_id=?,supplier_id=?,img_url=? WHERE goods_id=?";/*执行sql语句*/baseUpdate(sql,goodsVo.getGoodsCode(),goodsVo.getGoodsName(),goodsVo.getPrice(),goodsVo.getNum(),goodsVo.getTime(),goodsVo.getTypeId(), goodsVo.getSupplierId(),goodsVo.getImgUrl(),goodsVo.getGoodsId());}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888094.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python爬虫五十个小案例】爬取猫眼电影Top100

博客主页&#xff1a;小馒头学python 本文专栏: Python爬虫五十个小案例 专栏简介&#xff1a;分享五十个Python爬虫小案例 &#x1f40d;引言 猫眼电影是国内知名的电影票务与资讯平台&#xff0c;其中Top100榜单是影迷和电影产业观察者关注的重点。通过爬取猫眼电影Top10…

springboot信息化在线教学平台的设计与实现(代码+数据库+LW)

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了信息化在线教学平台的开发全过程。通过分析信息化在线教学平台管理的不足&#xff0c;创建了一个计算机管理信息化在线教学平台的方案。文章介绍了信息化在线教…

Hadoop批量计算实验

参考: Hadoop(一)之实验一CentOS7配置Hadoop系统:配置CentOS和下载安装包_基于虚拟机cents7搭建hadoop实验目的-CSDN博客 --------------------------------------------------------- 一、安装Vmware 二、创建虚拟机 1.安装centos7 ①打开VMware,点击新建虚拟机。 …

Flink四大基石之Time (时间语义) 的使用详解

目录 一、引言 二、Time 的分类及 EventTime 的重要性 Time 分类详述 EventTime 重要性凸显 三、Watermark 机制详解 核心原理 Watermark能解决什么问题,如何解决的? Watermark图解原理 举例 总结 多并行度的水印触发 Watermark代码演示 需求 代码演示&#xff…

Ubuntu 操作系统

一、简介 Ubuntu 是一个基于 Linux 的开源操作系统&#xff0c;它由 Canonical Ltd. 公司维护和资助。Ubuntu 以其易用性、强大的社区支持和定期的安全更新而闻名&#xff0c;一个一桌面应用为主的操作系统。 二、用户使用 1、常规用户的登陆方式 在登录时一般使用普通用户&…

Linux下如何安装JDK

在Linux系统上安装JDK&#xff08;Java Development Kit&#xff09;&#xff0c;通常包括下面步骤&#xff1a; 下载JDK安装包解压安装包配置环境变量等 在介绍安装之前&#xff0c;先厘清一些常用问题。 Linux 下Java 安装到哪个目录比较好&#xff1f; 在Linux系统下&am…

Apifox Echo - 简单而强大的API测试服务

什么是Apifox Echo? Apifox Echo 是由 Apifox 官方推出的一个专业的接口请求和返回数据服务平台。它的主要目的是帮助开发人员和测试人员更好地学习和测试API接口。 核心特点 简单易用 提供简洁的HTTP请求和响应服务操作界面直观,上手容易服务地址统一: https://echo.api…

Linux笔记---进程:进程等待

1. 进程等待的概念 进程等待是指父进程通过系统调用wait或waitpid来对子进程进行状态检测与回收的功能。 当子进程退出时&#xff0c;如果父进程不读取子进程的退出状态&#xff0c;子进程就会成为僵尸进程&#xff0c;造成内存泄漏的问题。因此&#xff0c;父进程需要调用wa…

常见靶场的搭建

漏洞靶场 渗透测试&#xff08;漏洞挖掘&#xff09;切忌纸上谈兵&#xff0c;学习渗透测试&#xff08;漏洞挖掘&#xff09;知识的过程中&#xff0c;我们通常需要一个包含漏洞的测试环境来进行训练。而在非授权情况下&#xff0c;对于网站进行渗透测试攻击&#xff0c;是触及…

AtomicIntegerFieldUpdater能否降低内存

1. 代码如下&#xff1a; import java.util.LinkedList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger;public class AtomicIntegerTest {final AtomicInteger startPosition new AtomicInteger(0);final AtomicInteger wrotePosition new Atom…

Jmeter进阶篇(28)结合AI做性能测试:开启性能测试自动化新篇章

📚前言 在当今快速发展的软件测试领域里,性能测试的重要性正在日益凸显。Apache Jmeter 作为一款强大的性能测试工具,目前正在测试行业里被广泛应用。然而,手动编写 Jmeter 的测试脚本,往往是一个繁琐且耗时的过程,我们需要添加请求头,HTTP请求,监听器,断言,再配置…

Java中 HttpURLConnection 和 HttpClient 详解(初学者友好)

Java中HttpURLConnection和HttpClient详解&#xff08;初学者友好&#xff09; 在Java开发中&#xff0c;向服务器发送HTTP请求是常见的需求&#xff0c;比如调用API接口或获取远程数据。在JDK中&#xff0c;主要有两种方式实现HTTP通信&#xff1a; 使用 HttpURLConnection&…

从零开始:使用Vite和pnpm搭建Vue3项目实战指南

目录 一、Node.js的下载和安装 1、打开Node.js官网&#xff08;Node.js — Run JavaScript Everywhere&#xff09; 2、点击下载按钮&#xff0c;下载完成后&#xff0c;打开文件&#xff0c;一直按Next按钮&#xff0c;直到 3、下载完成后,找到文件所在位置&#xff0c;然…

立创庐山派 K230 RTSP 推流

立创庐山派使用的是K230芯片&#xff0c;按照教程刷了canmv固件&#xff0c;下载canmv ide&#xff0c;使用嘉楠社区的rtsp和wlan例程&#xff0c;修改成连接wifi以及RTSP推流例程 # Description: This example demonstrates how to stream video and audio to the network us…

数据湖的概念(包含数据中台、数据湖、数据仓库、数据集市的区别)--了解数据湖,这一篇就够了

文章目录 一、数据湖概念1、企业对数据的困扰2、什么是数据湖3、数据中台、数据湖、数据仓库、数据集市的区别 网上看了好多有关数据湖的帖子&#xff0c;还有数据中台、数据湖、数据仓库、数据集市的区别的帖子&#xff0c;发现帖子写的都很多&#xff0c;而且专业名词很多&am…

Multkan

以下是KAN class的逐行解释&#xff0c;这个类是一个用于构建基于核激活网络&#xff08;KAN&#xff09;的神经网络模型的Python类&#xff1a; class KAN:定义一个名为KAN的类。 Attributes:以下部分列出了KAN类的属性&#xff0c;这些属性描述了类的状态和行为。 grid : int…

【案例】权限管理

数据库表结构 models.py from django.db import modelsclass Permission(models.Model):""" 权限表 """code models.CharField(verbose_name"路由名称", max_length32)name models.CharField(verbose_name"名称", max_le…

springboot kafka在kafka server AUTH变动后consumer自动销毁

前言 笔者使用了kafka用来传输数据&#xff0c;笔者在今年10月写了文章&#xff0c;怎么使用配置化实现kafka的装载&#xff1a;springboot kafka多数据源&#xff0c;通过配置动态加载发送者和消费者-CSDN博客 不过在实际运行中&#xff0c;kafka broker是加密的&#xff0c…

在Windows下编译支持https的wsdl2h

下载源码 在官网下载源码 安装Openssl 下载OpenSSL并安装&#xff0c;安装完成后需要将OpenSSL的路径添加到环境变量中 配置VS 1、打开工程 2、因为前面安装的OpenSLL是64位的&#xff0c;因此需要创建一个X64的配置 打开配置管理器&#xff0c;然后选择新建&#xff0…

【Webgl_glslThreejs】制作流水效果/毛玻璃效果材质

效果预览 shadertory源码 source&#xff1a; https://www.shadertoy.com/view/lldyDs 材质代码 import { DoubleSide, ShaderChunk, ShaderMaterial, TextureLoader } from "three"; /** * * source https://www.shadertoy.com/view/lldyDs */export default fu…