第二天总结 之 商品类型管理界面的实现 之 添加和修改操作 的实现

news2024/9/22 5:26:45

添加和修改操作

页面跳转问题

点击修改按钮时 跳转的路径 如下
在这里插入图片描述
点击添加按钮时 跳转的路径如下
在这里插入图片描述
通过这两张图片 不难发现 跳转的是同一个jsp 但是添加操作 是不带id跳转
而修改操作是带着id跳转
所以在其 跳转的页面add_goods_type.jsp页面中 有一个这样的判断
在这里插入图片描述
如果没有id 则显示添加商品类型的h2标签 反之 如果有 id 则显示 修改商品类型的h2标签

同样 了解到 添加操作 不需要显示默认的数据 而修改操作需要显示你修改的那条数据的原数据 如 我点击第三条数据的修改 那在修改页面 应该显示 默认的商品类型 为小米平板
在这里插入图片描述

在这里插入图片描述
因为修改操作是带着id跳转到这个jsp页面的 所以 通过el表达式 在页面中获取id 如果id不为null 证明为修改操作 然后通过id查询出这条数据 存放在对象中
然后将该对象存放到request域中 方便在页面显示数据
在这里插入图片描述
在这里插入图片描述
通过上图 可以发现 添加和修改操作 跳转的是同一个servlet 而根据不同的操作 判断 然后对应不同的id的输入框 这个输入框隐藏 目的是不让用户手动输入
然后在servlet层 获取id和name 然后再service层 判断id 是否为 -1 区分添加操作和修改操作

部分代码如下

其中GoodsTypeUpdateServlet 代码如下

package com.qfedu.controller;

import com.qfedu.service.GoodsTypeService;
import com.qfedu.service.impl.GoodsTypeServiceImpl;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "GoodsTypeUpdateServlet", value = "/GoodsTypeUpdateServlet")
public class GoodsTypeUpdateServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置请求的字符集  防止中文乱码
        request.setCharacterEncoding("utf-8");

        GoodsTypeService goodsTypeService = new GoodsTypeServiceImpl();
        //获取页面input输入框的id和typename
        String typename = request.getParameter("typename");
        String id1 = request.getParameter("id");
        Integer id = Integer.valueOf(id1);
        boolean b = goodsTypeService.updateGoodsType(id, typename);

        if (b) {
            response.sendRedirect("GoodsTypeSelectServlet");
        } else {
            response.sendRedirect("GoodsTypeSelectServlet");
        }
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

GoodsTypeServletImpl中的 updateGoodsType方法如下

    @Override
    public boolean updateGoodsType(int id, String typename) {
        if(id==-1){
            //通过前端传过来的id 为-1  代表该操作为添加操作
            Object[] objs={typename};
            if(goodsTypeDao.addGoodsType(objs)==1){
                return true;
            }else {
                return false;
            }
        }else{
            //若 id为正常id  证明为修改操作
            Object[] objs={typename,id};
            if(goodsTypeDao.updateGoodsType(objs)==1){
                return true;
            }else {
                return false;
            }
        }
    }

dao层代码 略

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

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

相关文章

Linux常用命令——tmux命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) tmux Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。 补充说明 使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后&a…

2022年HarmonyOS/OpenHarmony生态观察

一、鸿蒙生态世界快速构建升级中 HarmonyOS鸿蒙2019年正式面世,当时消费者只能在华为的智慧屏上体验;2020年,鸿蒙智联-华为面向智能硬件生态伙伴全新品牌和开放平台发布;2021年,智能手机等多种终端全面搭载HarmonyOS2…

UE4 RenderDoc笔记

1.Meh Viewer:当前DrawCall的Mesh信息,可以查看每个点的输入和输出 可以看到该DrawCall的Mesh顶点数量为510(该材质ID的Mesh三角面数)170*3,第一个顶点ID为3637 2.Texture Viewer:查看该次事件所调用的输入、输出缓…

【进阶】Spring Boot创建和使用

努力经营当下,直至未来明朗! 文章目录一、Spring Boot 概述二、Spring Boot优点三、Spring Boot项目创建1. 使用IDEA创建(社区版)2. 网页版创建(了解)四、项目目录介绍和运行1. 项目目录介绍2. 输出hello w…

Win10 Hyper-V 固定虚拟机IP地址的方法

Windows10系统Hyper-V中存在着一个名为“Default Switch”的缺省虚拟交换机,其本质上是一块虚拟网卡,其所连接的虚拟网络的类型为"Internal"(有关Hyper-V三种网络类型的含义,可参看《Hyper-V三种虚拟网络类型的理解_bol…

“深度学习”学习日记。误差反向传播法--算法实现

2023.1.18 经过学习了计算图、链式法则、加法层、乘法层、激活函数层、Affine层、Softmax层的反向传播的实现。今天来学习反向传播法的算法实现,做一次总结; 实现的思路(“学习”的步骤): 一,前提 神经…

4.Java的基础语法

小伙伴们,本篇内容让我们一起来总结学习Java的基础语法吧!😉 文章目录一、注释二、关键字三、字面量(也被叫做:常量/字面值常量)四、一些特殊字面量的书写五、变量(1)变量的定义格式:(2)输出打印变量:(3)变量的基本用法:(4)变量的注意事项:(5)变量的练习总结一、注释…

【第二章 Excel数据格式】

Excel数据格式1.Excel数据格式2.更改单元格格式2.1数值型数据的更改2.2文本型数据的更改2.3日期型数据的更改2.4日期型数据、数值型数据->文本型数据1.Excel数据格式 数字、文本和日期是最常用的三种数据格式, 数字一般右对齐,方便观测数据位数&am…

mac ganache安装以及在metamask创建ganache网络和账户导入

在做区块链本地测试时,需要测试网络、测试账户以及测试币,可以使用ganache来启动本地网络以及生成账户进行测试。 一、下载及安装ganache 首先下载ganache, 网址是这个https://trufflesuite.com/ganache/ 下载好后进行安装。 安装好以后使用…

Allegro如何让BUS线以粗线形式显示操作指导

Allegro如何让BUS线以粗线形式显示操作指导 在评估PCB布线的时候,设置好Bus线对于评估非常有帮助,Allegro不仅可以支持设置Bus组,还可以让Bus线以粗线形式显示,如下图 具体操作如下 选择Edit-PropertyFind选择nets

【algorithm】算法基础课---二分查找算法(附笔记 | 建议收藏)

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:AcWing算法学习笔记 💬总结:希望你看完…

几种常用的权重初始化方法

来源:投稿 作者:175 编辑:学姐 在深度学习中,权重的初始值非常重要,权重初始化方法甚至关系到模型能否收敛。本文主要介绍两种权重初始化方法。 为什么需要随机初始值 我们知道,神经网络一般在初始化权重…

【EasyExcel】在Java中操作Excel 完成数据的导入导出

快速入门 引入依赖 构建实体类 数据导出 参数 WriteWorkbook WriteSheet WriteTable 测试 数据导入 测试 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一…

【Ajax】form表单

一、form表单的基本使用什么是表单表单在网页中主要负责数据采集功能。HTML中的<form>标签&#xff0c;就是用于采集用户输入的信息&#xff0c;并通过<form>标签的提交操作&#xff0c;把采集到的信息提交到服务器端进行处理。2. 表单的组成部分<!-- 表单标签 …

Android 深入系统完全讲解(27)

讲完了这块&#xff0c;我们来说下相机相关的&#xff0c;再说之前一定记得&#xff0c;先要有框架思维&#xff0c;这点一直是我 强调的。 相机是什么&#xff0c;硬件采集数据上来&#xff0c;解析完成&#xff0c;上层绘制&#xff0c;在绘制的时候&#xff0c;同步可以做特…

iOS 国际化(多语言)

一、应用程序国际化 包括app名称和各种权限的提示文字。 1.1 创建工程&#xff0c;再在“PROJECT”的“Info”里面&#xff0c;添加所需语言。 1.2 从代码中分离出文本 创建一个 “.strings” 扩展名的文件 来本地化字符串&#xff0c;需要把这些字符串全部放在一个单独的文…

【医学数据融合文本方向 思路整理】

Scalable and accurate deep learning for electronic health records【2018】 本论文在于介绍 Google Medical Brain 项目的目标、方法和规划。 思路&#xff1a; 用病情描述&#xff0c;预测疾病诊断&#xff0c;预测死亡率 用病情描述加治疗方案&#xff0c;预测复诊率和住院…

Elasticsearch7.8.0版本高级查询—— 查询所有文档

目录一、初始化文档数据二、查询所有文档示例一、初始化文档数据 在 Postman 中&#xff0c;向 ES 服务器发 POST 请求 &#xff1a;http://localhost:9200/user/_doc/1&#xff0c;请求体内容为&#xff1a; {"name":"张三","age":22,"sex…

Zookeeper 【下载与安装,基本使用】

目录 1. 什么是zookeeper 2. zookeeper下载与安装 3. Zookeeper 测试 1. 什么是zookeeper zookeeper实际上是yahoo开发的&#xff0c;用于分布式中一致性处理的框架。最初其作为研发Hadoop时的副产品。 由于分布式系统中一致性处理较为困难&#xff0c;其他的分布式系统没有…

SAP MTO/MTS操作步骤及月末结算

一、MTO/MTS操作步骤 【MTO核算方式】 是以销售订单触发生产的方式。 创建销售订单 VA01 运行物料需求计划 MD01 查询物料需求 MD04 计划订单转化为生产订单 MD04/CO01 生产订单成本计算以及下达 CO02 生产订单发料 MB1A 生产报工 CO11N 完成品入库 MB31 非限制库存转移到销售…