实习知识整理10: 渲染默认地址以及实现渲染并选择其他地址

news2024/11/16 19:26:00

1. 渲染默认地址思路分析

(1)如果我们需要获取到默认地址可以通过userId从地址表中查找,因为从商品详情页点击购买按钮时,只传递商品的相关信息,所以我们就需要从session中获取用户的信息userId

(2)所以可以写个通过userId从地址表中查找默认地址的方法,然后放入mav中,一起携带到订单信息页面

(3)在订单信息页面进行渲染操作

AddressMapper.java

public interface AddressMapper {
    // 1. 根据用户编号查询该用户的默认地址
    Address findDefaultAddressByUserId(Integer userId);

}

AddressMapper.xml 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.shopping.mapper.AddressMapper">

    <resultMap id="baseAddressResultMap" type="Address">
        <id column="ADDRESS_ID" property="addressId"></id>
        <result column="USER_ID" property="userId"></result>
        <result column="ADDRESS" property="address"></result>
        <result column="PHONE" property="phone"></result>
        <result column="LINKMAN" property="linkman"></result>
        <result column="DEFAULT_ADDRESS" property="defaultAddress"></result>
        <result column="ADDRESS_NOTE" property="addressNote"></result>
    </resultMap>
    <!-- 根据用户ID查询默认地址 -->
    <select id="findDefaultAddressByUserId" resultMap="baseAddressResultMap">
        SELECT ADDRESS_ID, USER_ID, ADDRESS, PHONE, LINKMAN, DEFAULT_ADDRESS, ADDRESS_NOTE FROM address
        WHERE USER_ID = #{userId} AND DEFAULT_ADDRESS = 1
    </select>

</mapper>

AddressService.java  接口

public interface AddressService {
    // 1. 根据用户编号查询该用户的默认地址
    Address findDefaultAddressByUserId(Integer userId);
}

AddressServiceImpl.java 实现类

public class AddressServiceImpl implements AddressService {
    @Resource
    AddressMapper addressMapper;

    @Override
    public Address findDefaultAddressByUserId(Integer userId) {
        return addressMapper.findDefaultAddressByUserId(userId);
    }

}

OrderController.java

mav中需要添加默认地址,然后携带到新的页面

 confirmOrder.html页面

2.  实现渲染并选择其他地址

与上面一样,这边是通过userId来查询该用户对应的所有地址信息

 AddressMapper.java

AddressMapper.xml 

AddressService.java 

AddressServiceImpl.java

AddressController.java 

@Controller
@RequestMapping("/address")
public class AddressController {

    @Autowired
    AddressService addressService;

    // 根据用户编号查询地址列表
    // http://localhost:8082/project/address/findUserAddresses/{userId}
    @RequestMapping("/findUserAddresses/{userId}")
    @ResponseBody
    public List<Address> findUserAddresses(@PathVariable Integer userId) throws Exception {
        return addressService.findAllAddressByUserId(userId);
    }
}

confirmOrder.html 

前端页面中使用$.getJSON() 像后端发起请求并携带参数 userId

 

实现点击每一条地址,使其信息填充到页面的相应位置 ,在上方已经为每一条地址添加了点击事件,并且参数为索引index

注意下述的函数需要写到 $(function() {

                                         })    的外边,!!!!

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

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

相关文章

INS量测更新

基础知识 1、ZK H X V 2、V ZK -HX 3、K Pk/k-1HT/(HPk/k-1HT R) 主要更新以下两个方程 4、Xk/k Xk/k-1 KV &#xff08;&#xff09; 5、Pk/k Pk/k-1 - KHPk/k-1 (I -KH)Pk/k-1; 剖析4和5两个方程&#xff0c;Xk/k-1,Pk/k-1时间更新已经更新完了&#x…

【软件工程大题】PAD图

常见题型:流程图转换为PAD图,伪代码转换为PAD图 PAD图基本要素 图解: (1) 选择分支,在P1和P2的左边标记 T or F (2) 如果只有if 没有else 省略即可(如不画P2),其余不变 (3) while C 的意思是 C为假的时候,跳出循环 until C 的意思是 C为真的时候,跳出循环 真题实战 题目…

高压放大器的使用方法是什么

高压放大器是一种重要的电子设备&#xff0c;其主要功能是放大输入信号的电压&#xff0c;并输出更高电压的信号。它在各种工业、实验室和研究领域都有着广泛的应用。下面安泰电子官网将详细介绍高压放大器的使用方法以及相关注意事项。 高压放大器是一种专门用于将低电压信号转…

C语言操作符逻辑与,逻辑或面试真题(2)

各位少年&#xff1a; 今天给大家分享几个代码示例&#xff0c;希望能帮助能从学习的方面&#xff0c;帮助大家。 #include<stdio.h> int main() { int i0,a0,b2,c3,d4; ia&&b&&d; printf("a%d\n b%d\n c%d\nd%d",a,b,c,d); return 0; } 大…

经验分享:构建知识库管理系统只需要这几步

导语&#xff1a; 在当今信息爆炸的时代&#xff0c;构建一个高效的知识库管理系统对于企业来说至关重要。一个好的知识库管理系统可以帮助企业集中管理和共享知识和信息&#xff0c;提高团队的协作效率和创新能力。本文将分享构建知识库管理系统的几个关键步骤&#xff0c;帮…

Spring之提前编译:AOT

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

git将分支代码传到Master上

先把更改的代码commit、push到github自己的分支上&#xff0c;在github上Heart&#xff08;自己&#xff09;分支上能看到提交后再进行下面操作。git checkout Master &#xff0c;切换到Master主干道git pull ,把Master上最新代码pull下来git merge Heart&#xff0c;合并到自…

【小黑嵌入式系统第十三课】PSoC 5LP第二个实验——中断控制实验

上一课&#xff1a; 【小黑嵌入式系统第十二课】μC/OS-III程序设计基础&#xff08;二&#xff09;——系统函数使用场合、时间管理、临界区管理、使用规则、互斥信号量 文章目录 1 实验目的2 实验要求3 实验设备4 实验原理4.1 中断(1) 中断机制概述(2) 中断源(3) 中断系统的功…

[Ray Tracing: The Next Week] 笔记

前言 本篇博客参照自《Ray Tracing: The Next Week》教程&#xff0c;地址为&#xff1a;https://raytracing.github.io/books/RayTracingTheNextWeek.html 该教程在ray tracing in one weekend的基础上&#xff0c;增加了运动模糊、BVH树、Texture映射、柏林噪声、光照、体积…

前端文件在虚拟机,后端在本机,两个如何通信

前端文件在虚拟机&#xff0c;后端在本机&#xff0c;两个如何通信 如果前端的文件放在虚拟机里面&#xff0c;但是调用接口的后端在本地调试&#xff0c;如何做到在虚拟机中也能访问到本地的接口内容。 其实这个问题很简单&#xff0c;只要讲本地的IP和虚拟机中的IP结合就可…

在wps里导入Mathtype、改变字体

1 在wps里导入Mathtype 开发工具--加载项 2. 在“模板和加载项”窗口中再点击“添加” 3.找到mathtype安装路径下面的“OfficeSupprot”&#xff0c;这时会看到有“32”和“64”两个文件夹&#xff0c;分别对应WPS软件的系统&#xff08;任务管理器可以直接查看wps版本&#x…

k8s搭建(二、k8s组件安装)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

MySQL日期查询 今天、明天、本月、下月、星期、本周第一天、本周最后一天、本周七天日期

文章目录 今天日期明天日期本月第一天本月最后一天下个月第一天当前月已过几天当前月天数当前月所有日期获取星期本周第一天本周最后一天获取本周的七天日期 今天日期 select curdate()明天日期 select DATE_SUB(curdate(),INTERVAL -1 DAY) AS tomorrow本月第一天 select d…

c 语言,指针,指针的指针

c 语言&#xff0c;指针&#xff0c;指针的指针 指针就是指向变量地址的东西。 比如&#xff1a; 定义了一个 int 变量 p&#xff0c;值为 1 。定义了 int 指针 pInt 指向了变量 p&#xff0c; 它的名字前面有个 * &#xff0c;此时 pInt 就是 p 的地址&#xff0c;当前面加…

vue+element实现动态表格:根据后台返回的属性名和字段动态生成可变表格

现有一个胡萝卜厂生产不同品种的胡萝卜&#xff0c;为了便于客户了解产品&#xff0c;现需在官网展示胡萝卜信息。现有的萝卜信息&#xff1a;编号&#xff08;id&#xff09;、名称&#xff08;name&#xff09;、保质期&#xff08;age&#xff09;、特点&#xff08;remark&…

Python编程:计算当前日期是一年中的第几天

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在Python中&#xff0c;计算当前日期是一年中的第几天可以通过内置的datetime模块来实现。这个任务涉及到日期处理和一些基本的数学计算。在本文中&#xff0c;将详细介绍如何使用Python编写代码来完成这个任务&…

视频压缩不影响画质简单方法,一分钟搞定!

很多朋友在处理视频的时候都会遇到视频过大的问题&#xff0c;想要压缩视频的同时不影响画质&#xff0c;简单的方法有两种。一种是用专业的压缩软件&#xff0c;在压缩的时候设置一个合适的压缩比例&#xff0c;压缩大小的同时保持清晰度&#xff0c;也能提高压缩率&#xff0…

机器人创新实验室任务三参考文档

一、JAVA环境配置 需要在Linux里面下载并且安装java。 sudo apt-get install openjdk-17-jre-headless 打开终端并且运行指令&#xff0c;用apt下载安装java。官方用的好像是java11&#xff0c;我安装的是java17。 如果无法定位软件安装包&#xff0c;可以试试更新一下 sudo …

ubuntu 在线安装 python3 pip

ubuntu 在线安装 python3 pip 安装 python3 pip sudo apt -y install python3 python3-pip升级 pip python3 -m pip install --upgrade pip

【零成本实现接口自动化测试】Java+TestNG 测试Restful service

接口自动化测试 – JavaTestNG 测试 Restful Web Service 关键词&#xff1a;基于Rest的Web服务&#xff0c;接口自动化测试&#xff0c;数据驱动测试&#xff0c;测试Restful Web Service&#xff0c; 数据分离&#xff0c;JavaMavenTestNG 本文主要介绍如何用Java针对Restf…