自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 [特殊字符] Vue 2 中 this.$set() 用法笔记

在 Vue 2 中,用于,使其能够触发视图更新。

2025-07-23 09:56:24 499

原创 利用 iText 实现 PDF 模板导出功能详解

在企业应用中,PDF 文档生成是政务系统、教育管理系统、客户签约系统等场景中的核心功能。通过预定义的 PDF 模板动态填充数据,能够确保文档格式统一、数据准确,同时显著提升自动化效率。iText 作为一款功能强大的 PDF 操作库,支持表单域(AcroForm)的读取与填充,是此类需求的理想解决方案。通过 iText 结合 PDF 模板,我们可以轻松实现数据驱动的文档生成,极大提升文档生成的自动化程度。你可以将此能力封装为一个工具类,在项目中复用。

2025-07-21 20:39:19 585

原创 EasyExcel 导出 + 浏览器 Blob 下载全攻略

📌 后端关键点:🔍 前端要点:🛠 文件损坏问题🌐 乱码解决方案⚡ 性能优化建议📊 多Sheet导出🎨 自定义样式🔄 进度显示(表情包建议:可在适当位置添加🔄表示进度、🎯表示关键点、⚠️表示注意事项等) 下载进度显示: 多Sheet导出: 自定义样式: 通过以上完整方案,你可以实现从后端EasyExcel导出到前端Blob下载的全流程功能,适用于各种报表导出场景。

2025-07-04 22:17:36 1103

原创 Java Stream高级分组:groupingBy + toMap组合详解与实战指南

【摘要】本文深入讲解Java Stream API中Collectors.groupingBy与Collectors.toMap的组合使用技巧。通过教师评价数据模型的实际案例,演示如何构建双层嵌套Map结构(外层按reportId分组,内层按itemId映射),实现高效数据分类处理。文章详细解析了API参数、冲突处理策略,对比了传统循环与Stream的性能优势,并给出多级分组、复杂值映射等变种应用。最佳实践部分包括键选择原则、空值处理和并行流优化建议,帮助开发者掌握这种声明式数据处理模式,提升代码简洁性和可

2025-07-03 21:47:11 1109

原创 函数的节流(定时器的bug)

按钮

2023-11-18 15:12:41 97 1

原创 一次性延时器和循坏延时器

清楚延时器 clearInterval(参数一) 传入的参数是你要清除的延时器对象。清楚延时器 setTimeout(参数一) 传入的参数是你要清除的延时器对象。//清楚定时器 参数 是循坏延时器的对象。//清楚延时器 传入的参数是你要清除的延时器对象。//循坏延时器 每个时间段执行函数。//参数二: 延迟时间(单位是毫秒)//参数一:需要执行的具体功能的函数。setTimeout(参数一,参数二)参数一:需要执行的具体功能的函数。参数一:需要执行的具体功能的函数。

2023-11-18 12:51:17 164 1

原创 事件的点击事件(常用)

console.log("获取用户信息",document.querySelector("#userName").value);// e.keycode 获取当前按下的按键Ascll码值 返回的都是大写字母的ascll码值。//ketpress:按下 监听除功能键 (shift/箭头等)除外的按键按下有效果。<input type="text" id="userName" name="user">用户名。console.log('press 键盘按键按下',e.keycode);

2023-11-18 12:46:17 215 1

原创 事件的绑定

/ addEventListener:绑定监听事件,可以给同一元素绑定多个相同事件(不会发生事件覆盖)console.log('绑定事件的元素(事件源)',e.currentTarget)addEventListener:绑定监听事件,可以给同一元素绑定多个相同事件(不会发生事件覆盖)console.log('事件对象,有事件相关的信息e', e);console.log('触发事件的元素',e.target)// this 指向绑定事件的元素(事件源)// 绑定相同的多个事件时,后面的会覆盖前面的。

2023-11-12 21:03:01 334 1

原创 节点操作(Dom)

var newLi1=document.createElement('li')//创建标签。var newLi=document.createElement('li')//创建标签。//firstElementChild: 获取第一个子元素(子标签)节点。//lastElementChild: 获取最后个子元素(子标签)节点。//nextElementSibling 获取下一个兄弟标签节点。//lastChild:获取最后一个子节点。//children:获取所有子标签节点。

2023-11-12 11:10:54 81 1

原创 使用属性方法操作样式

box1.classList.toggle('list')//添加 (无测添加)//toggle():切换指定元素的指定的类名,有则移除。//toggle():切换指定元素的指定的类名,有则移除。//contains():判断指定元素是否含有指定的类名。//contains():判断指定元素是否含有指定的类名。//remove():移除指定元素的指定的类名。//remove():移除指定元素的指定的类名。//add():给指定元素添加指定的类名。//add():给指定元素添加指定的类名。

2023-11-12 10:06:27 104 1

原创 方法获取属性

div id="box" name="para" class="main" data-index="1" data-price="99.88">盒子</div>//注意 自定义属性不能直接用元素点(box1.name)的方式去获取,要先获取dataset属性。//注意 自定义属性不能直接用元素点(box1.name)的方式去获取,要先获取dataset属性。//.getAttribute('key') 通过方法获取标签上的属性。//自定义属性的获取 (标签上的data-)//可以获取元素的属性和方法。

2023-11-12 09:59:04 133 1

转载 学习笔记(锚点的应用)

一、锚点在我们学习HTML的过程中,要理解写页面的作用,最初写页面的本质是为了文章服务的,一篇文章如果太长,我们想、或者回到某一个段落就会费劲儿,所以锚点就是为了精准定位段落,起到目录的效果。(本人理解成就是点击它的时候进行页面的跳转)

2023-10-15 23:13:59 207 1

原创 jdbctemplate的详细说明

本文只适合用于基础的增删改从而降低代码的冗余程度一、适用于增删改的操作 首先我们先创建connection,prepaeredstatement(我是调用jdbcUtil工具类来获取connection对象 ) 该方法传入两个参数分别传入两个参数 一个是写好的sql语句 另一个是可变参数 通过可变参数给sql的语句中的 ?号进行设置值 最后通过rows= ps.executeUpdate();来运行public int dml(String sql,Object...arg)

2023-10-15 14:00:59 122 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除