项目实战:编辑页面加载库存信息

这篇具有很好参考价值的文章主要介绍了项目实战:编辑页面加载库存信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 注意下面的 param s   必须要加 s ,如果不加 s ,后端接收不到 fid,Integer.parseInt(req.getParameter("fid"))会出现java.lang.NumberFormatException:Cannot parse null string。本人当时出现这个错误检查了一个小时,所以很难发现这个小细节,因为逻辑都是对的。

项目实战:编辑页面加载库存信息,# Tomcat-Servlet,axios,javascript,json,前端,Servlet

1、前端编辑页面加载水果库存信息逻辑edit.js

function $(key) {
    if (key) {
        if (key.startsWith("#")) {
            key = key.substring(1);
            return document.getElementById(key);
        } else {
            let nodeList = document.getElementsByName(key);
            return Array.from(nodeList);
        }
    }
}
let queryString = window.location.search.substring(1)
if(queryString){
    var fid = queryString.split("=")[1]

    window.onload=function(){
        loadFruit(fid)
    }

    loadFruit = function(fid){
        axios({
            method:'get',
            url:'edit',
            params:{
                fid:fid
            }
        }).then(response=>{
            let fruit = response.data.data
            $("#fid").value=fruit.fid
            $("#fname").value=fruit.fname
            $("#price").value=fruit.price
            $("#fcount").value=fruit.fcount
            $("#remark").value=fruit.remark
        })
    }

/*    update=function(){
        let fid = $("#fid").value
        let fname = $("#fname").value
        let price = $("#price").value
        let fcount = $("#fcount").value
        let remark = $("#remark").value
        axios({
            method:'post',
            url:"update",
            data:{
                fid:fid,
                fname:fname,
                price:price,
                fcount:fcount,
                remark:remark
            }
        }).then(response=>{
            if(response.data.flag){
                window.location.href="index.html"
            }
        })
    }*/
}

2、 在FruitDao接口中添加通过id查询数据的方法

package com.csdn.fruit.dao;
import com.csdn.fruit.pojo.Fruit;
import java.util.List;
//dao :Data Access Object 数据访问对象
//接口设计
public interface FruitDao {

    void addFruit(Fruit fruit);

    void delFruit(String fname);

    void updateFruit(Fruit fruit);

    List<Fruit> getFruitList();

    Fruit getFruitByFname(String fname);

    Fruit getFruitByFid(Integer fid);
}

3、在FruitDaoImpl实现类中实现getFruitByFid()方法

package com.csdn.fruit.dao.impl;
import com.csdn.fruit.dao.FruitDao;
import com.csdn.fruit.pojo.Fruit;
import com.csdn.mymvc.dao.BaseDao;
import java.util.List;
public class FruitDaoImpl extends BaseDao<Fruit> implements FruitDao {
    @Override
    public void addFruit(Fruit fruit) {
        String sql = "insert into t_fruit values (0,?,?,?,?)";
        super.executeUpdate(sql, fruit.getFname(), fruit.getPrice(), fruit.getFcount(), fruit.getRemark());
    }
    @Override
    public void delFruit(String fname) {
        String sql = "delete from t_fruit where fname=?";
        super.executeUpdate(sql, fname);
    }
    @Override
    public void updateFruit(Fruit fruit) {
        String sql = "update  t_fruit set fcount=? where fname = ?";
        super.executeUpdate(sql, fruit.getFcount(), fruit.getFname());
    }
    @Override
    public List<Fruit> getFruitList() {
        return super.executeQuery("select * from t_fruit");
    }
    @Override
    public Fruit getFruitByFname(String fname) {
        return load("select * from t_fruit where fname = ?", fname);
    }
    @Override
    public Fruit getFruitByFid(Integer fid) {
        return load("select * from t_fruit where fid=?", fid);
    }
}

4、编写EditServlet类实现前后端数据交互

package com.csdn.fruit.servlet;
import com.csdn.fruit.dao.FruitDao;
import com.csdn.fruit.dao.impl.FruitDaoImpl;
import com.csdn.fruit.dto.Result;
import com.csdn.fruit.pojo.Fruit;
import com.csdn.fruit.util.ResponseUtil;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/edit")
public class EditServlet extends HttpServlet {
    FruitDao fruitDao = new FruitDaoImpl();

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Integer fid = Integer.parseInt(req.getParameter("fid"));
        Fruit fruit = fruitDao.getFruitByFid(fid);
        ResponseUtil.print(resp, Result.OK(fruit));
    }
}

5、用到的工具类

5.1、ResponseUtil工具类

package com.csdn.fruit.util;
import com.csdn.fruit.dto.Result;
import jakarta.servlet.ServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class ResponseUtil {
    public static void print(ServletResponse response, Result result) throws IOException {
        response.setCharacterEncoding("UTF-8");
        response.setContentType("application/json;charset=utf-8");
        PrintWriter out = response.getWriter();
        out.println(GsonUtil.toJson(result));
        out.flush();
    }
}

5.2、GsonUtil工具类

package com.csdn.fruit.util;
import com.google.gson.Gson;
public class GsonUtil {
    public static String toJson(Object obj) {
        //java object ->  java json string
        Gson gson = new Gson();
        return gson.toJson(obj);
    }
}

 ​​项目实战:编辑页面加载库存信息,# Tomcat-Servlet,axios,javascript,json,前端,Servlet

项目实战:编辑页面加载库存信息,# Tomcat-Servlet,axios,javascript,json,前端,Servlet

项目实战:编辑页面加载库存信息,# Tomcat-Servlet,axios,javascript,json,前端,Servlet

项目实战:编辑页面加载库存信息,# Tomcat-Servlet,axios,javascript,json,前端,Servlet文章来源地址https://www.toymoban.com/news/detail-740286.html

到了这里,关于项目实战:编辑页面加载库存信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 项目笔记——安卓WebView加载H5页面问题处理

    项目为Android应用,使用WebView加载H5页面。 此文仅记录项目开发中遇到的问题及解决方法。 目录 一,下拉刷新 二,H5唤起支付宝 三,H5本地文件选择 四,加载图片失败 五,输入框被软键盘遮挡 页面Reload需要下拉刷新功能,所以使用了SwipeRefreshLayout包裹WebView。但使用时不管

    2024年02月02日
    浏览(34)
  • SpringBoot项目修改中静态资源,只需刷新页面无需重启项目(附赠—热加载)

    💢初衷💢       因为一遍遍修改并重启项目觉得很麻烦,所以刚开始就自己给项目配置了热加载,但奈何代码更新还是慢,还不如我重启一遍项目的速度,所以放弃了自己上网找到的热加载配置。直到我debugger前端代码时,问题出现了,因为我项目的前后端没有分离,所以

    2024年02月14日
    浏览(41)
  • 货位库存管理页面

    目的: 练习分页查询结构,了解tab分页显示方式,了解数据修改操作功能说明: 编写货位库存管理页面,支持货位间库存调整功能要求: 编写货位库存管理界面,基于货位库存的维度展示数据 页面存在tab分页,能够显示货品信息,显示该货品在指定仓库的所有其他货位信息 搜

    2024年02月06日
    浏览(33)
  • flask 与小程序 购物车删除和编辑库存功能

    编辑  :   数量加减   价格汇总  数据清空 知识点1: view class=\\\"jian-btn\\\" catchtap=\\\"jianBtnTap\\\" data-index=\\\"{{index}}\\\" 是一个微信小程序中的一个视图组件,具有以下特点: class=\\\"jian-btn\\\" :该组件的样式类名为 jian-btn ,可以通过CSS样式表对其进行样式设置。 catchtap=\\\"jianBtnTap\\\" :该组件绑

    2024年01月22日
    浏览(34)
  • react项目做的h5页面加载缓慢优化(3s优化到0.6s)

    打包到生产环境时去掉SOURCEMAP 禁用生成 Source Map 是一种权衡,可以根据项目的实际需求和优化目标来决定是否禁用。如果您对调试需求不是特别强烈,可以考虑在生产构建中禁用 Source Map 以获取更好的性能。但如果需要保留调试能力,可以在生产构建中保留生成 Source Map “

    2024年02月13日
    浏览(32)
  • android项目实战之编辑器图片上传预览

    现状分析 项目的需求用到编辑器,编辑器中又可能用到图片上传功能。 实现方案 1. 增加依赖库,可以参考前面的几篇文章,都有描述。 2. 核心代码实现 欢迎点赞、收藏、转发。

    2024年02月04日
    浏览(59)
  • 用CSS和HTML写一个水果库存静态页面

    HTML代码: CSS代码(保存为styles.css): 这个示例展示了一个简单的水果库存静态页面,其中包含: 一个顶部的header元素,显示页面标题。 一个使用table标签创建的表格,用于展示水果库存信息。 表格包含一个thead部分,包含列标题,和一个tbody部分,包含具体的水果库存数据

    2024年02月14日
    浏览(37)
  • 快手商品详情商品价格、销量、库存、sku信息

         商品详情数据API是用来获取快手商品详情页数据的接口,请求参数为商品ID,这是每个商品唯一性的标识。返回参数有商品标题、商品标题、商品简介、价格、掌柜昵称、库存、宝贝链接、宝贝图片、商品SKU等 公共参数 请求地址: 获取key和密钥 名称 类型 必须 描述 k

    2024年01月23日
    浏览(35)
  • vue项目实战-脑图编辑管理系统kitymind百度脑图

    项目为前端vue项目,把kitymind百度脑图整合到前端vue项目中,显示了脑图的绘制,编辑,到处为json,png,text等格式的功能 文章末尾有相关的代码链接,代码只包含前端项目,在原始的项目中也编写了相关的接口,但是原先的后端项目是公司的,不方便公开出来,这里只提供

    2024年02月13日
    浏览(27)
  • 京东自动化功能之商品信息监控是否有库存

    这里有两个参数,分别是area和skuids area是地区编码,我这里统计了全国各个区县的area编码,用户可以根据实际地址进行构造 skuids是商品的信息ID 填写好这两个商品之后,会显示两种状态,判断有货或者无货状态,详情如下图所示 简单编写下python代码,比如我们的地址是北京

    2024年02月17日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包