jeecgboot项目遇见的一些问题:

1.当你想修改项目的标题,前端将jeecgboot改成你想要的标题的时候,去前端的.env文件中进行修改。

图1 修改标题

根据路径找到文件,将网站标题改成自己需要的就可以正常显示了。

图2 显示前

图3 显示后

2.在动态数组中,如果你知道数组需要多少长度,尽量给他确定一下长度,可以提升性能,养成个习惯。

图4 给数组定长度

3.针对于结果允许为空的方法,需要判断这里的值是否为空,否则代码中可能会报空指针异常。

比如:

	public Result<String> add(@RequestBody Kpi kpi) {LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();kpi.setCreateByDepartId(sysUser.getOrgId());kpi.setRespondepartment(sysUser.getOrgId());kpiService.save(kpi);//将kpi中的配合部门赋值给tobedone中的的配合部门String[] result=kpi.getCooperatedept().split(",");List<Tobedone> tobedoneList = new ArrayList<>(result.length);for(int i=0;i<result.length;i++){Tobedone tobedone = new Tobedone();tobedone.setKpiId(kpi.getId());tobedone.setTaskstatus(Constants.TODO);tobedone.setTasktype(Constants.KPI);tobedone.setCoopDepart(result[i]);tobedoneList.add(tobedone);}tobedoneService.saveBatch(tobedoneList);return Result.OK(Constants.ADD_SUCCESS);}

在这段代码中的kpi.getCooperatedept方法在获取数据的时候有可能会为空,因为一个指标的配合部门可以为空,在设计代码的时候也允许一个指标没有配合部门,所以我们要对这段代码进行处理,当判断获取到的配合部门数据不为空且不为空字符串的时候才执行后面的赋值操作。

修改后的代码为:

	 public Result<String> add(@RequestBody Kpi kpi) {LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();kpi.setCreateByDepartId(sysUser.getOrgId());kpi.setRespondepartment(sysUser.getOrgId());kpiService.save(kpi);//将kpi中的配合部门赋值给tobedone中的的配合部门String cooperatedept = kpi.getCooperatedept();//判断其不为空且不为空字符串的时候才进行后续的操作。if (cooperatedept != null && !cooperatedept.trim().isEmpty()) {String[] result = cooperatedept.split(",");List<Tobedone> tobedoneList = new ArrayList<>(result.length);for(int i=0; i<result.length; i++) {Tobedone tobedone = new Tobedone();tobedone.setKpiId(kpi.getId());tobedone.setTaskstatus(Constants.TODO);tobedone.setTasktype(Constants.KPI);tobedone.setCoopDepart(result[i]);tobedoneList.add(tobedone);}tobedoneService.saveBatch(tobedoneList);}return Result.OK(Constants.ADD_SUCCESS);}

4.前端需要必填的属性需要添加上必填,不填不给提交。

只需要在代码中添加代码required: true。这样在前端的显示的时候就会提示必填。

图4 字段设置必填

5.页面调整:

编写代码的时候不止需要考虑后端代码,还需要考虑前端的美观性。修改前:

图5 前端修改前

各个字段的长度都相同,应该哪一部分的内容多,输入框就给的多一些。所以直接设置为多行文本。

修改后:

图6 修改后

6.因为字段的长度设置导致执行数据库时出现异常。

图7 执行数据库异常

总而言之,是因为数据库字段的长度设置的太短,但是输入框文本中的数据很长,比如图中的配合部门,数据库设置的varchar(64),但是很明显超出了长度。只需要修改数据库字段的长度即可。

图8 修改数据库字段的长度

7.分页写死了导致只能获取第一页的数据而不能获取第二页以及之后的数据,修改后的代码如下,拿一个方法进行举例:

 /** 汇报年度关键指标* */@RequestMapping(value = "/report_kpi", method = RequestMethod.GET)@Transactional//事务处理注解public Result<IPage<ReportKpi>> reportKpi(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();List<ReportKpi> ReportKpiList = reportKpiService.SelectReportKpiListAll(sysUser.getOrgId());// 手动实现分页int total = ReportKpiList.size();int startIndex = (pageNo - 1) * pageSize;int endIndex = Math.min(startIndex + pageSize, total);List<ReportKpi> pagedList;if (startIndex < total) {pagedList = ReportKpiList.subList(startIndex, endIndex);} else {pagedList = new ArrayList<>();}Page<ReportKpi> page = new Page<>(pageNo, pageSize, total);page.setRecords(pagedList);return Result.OK(page);}

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

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

相关文章

项目里程碑设定有哪些方法

要科学设定项目里程碑&#xff0c;可采用以下几种方法&#xff1a;基于项目阶段划分法、关键交付物导向法、依赖关系链分析法、时间驱动法、风险节点识别法、目标成果导向法、资源约束分析法、客户验收节点设定法。其中&#xff0c;关键交付物导向法尤为实用。该方法以项目中必…

英伟达显卡驱动怎么更新 详细步骤教程

英伟达显卡驱动程序对于电脑的图形性能至关重要&#xff0c;它能确保显卡在游戏、设计、视频渲染等方面发挥最大性能。如果驱动过旧&#xff0c;可能会导致游戏运行不畅、软件不兼容&#xff0c;甚至系统出现错误。因此&#xff0c;定期更新英伟达显卡驱动非常必要。下面将为大…

基于单片机智能拐杖/导盲杖/老人防摔倒设计

传送门 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目速选一览表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目功能速览 概述 该设计针对老年人及行动不便人群的需求&#xff0c;开发了一款集成单片机控制的智能拐杖。拐杖采…

Node.js完整安装配置指南(包含国内镜像配置)

Node.js完整安装配置指南&#xff08;包含国内镜像配置&#xff09; 一、Node.js安装 方法1&#xff1a;使用Chocolatey安装&#xff08;推荐&#xff09; # 安装最新LTS版本 choco install nodejs# 或安装指定版本 choco install nodejs --version20.11.0方法2&#xff1a;…

AI硬件 - AMD显卡架构演进及产品线

目录 一、AMD显卡架构演进总结 二、典型AMD AI显卡历代型号参数对比表 关键参数说明: 三、AMD 特供中国AI显卡产品线全览 1. 企业级Instinct系列(数据中心/科研) 2. 消费级AI加速显卡(开发/本地推理) 四、与NVIDIA显卡的AI性能对比 关键指标实测数据 五、模型框架…

论文阅读-Gated CRF Loss for Weakly Supervised Semantic Image Segmentation

文章目录1 背景2 模块2.1 部分交叉熵损失2.2 弱标签&#xff08;线/点&#xff09;2.3 Gated CRF Loss3 效果3.1 总体效果3.2 消融实验4 总结参考文献1 背景 全监督的语义分割需要对全图进行完全而精确的标注。当需要标注的目标在图像中较多&#xff0c;又或形状不规则&#x…

零墨云A4mini打印机设置电脑通过局域网络进行打印

文档时间&#xff1a;2025年8月 1.演示环境 操作系统版本&#xff1a;Windows11 打印机版本&#xff1a;零墨云A4mini 这款打印机打印的方式有蓝牙、远程云和局域网&#xff0c;这里演示的是电脑通过局域网打印 通过电脑版局域网(这个局域网是网络可达)打印之前&#xff0c…

ESP8266 入门(第 3 部分):使用 Arduino IDE 对 ESP8266 进行编程并刷新其内存

使用 Arduino IDE 对 ESP8266 进行编程并刷新其内存 这是我们之前 ESP 教程的延续的第三个教程,其中我们将学习使用 Arduino IDE(不使用 Arduino)对 ESP8266 进行编程和烧录 ESP8266。在前面的教程中,我们介绍了 WiFi 收发器ESP8266简介以及将 AT 命令与 ESP8266 结合使用。…

如何成功初始化一个模块

一、如何保证成功初始化一个模块&#xff08;以 UART 为例&#xff09;要成功初始化一个模块&#xff0c;请遵循以下步骤&#xff1a;在图形化界面中&#xff0c;首先配置外设模块。紧接着&#xff0c;配置使用到的外设模块的引脚&#xff08;这一点很重要&#xff0c;容易忘记…

Hive 存储管理测试用例设计指南

一、测试范围界定Hive 存储管理测试主要覆盖以下核心模块&#xff1a;内部表 / 外部表存储特性验证分区表 / 分桶表管理功能测试存储格式兼容性测试&#xff08;TextFile/ORC/Parquet 等&#xff09;数据加载与导出机制验证元数据与 HDFS 存储一致性校验异常场景与边界条件处理…

智芯微ZX6N60A—N沟道增强型功率MOSFET

主要特征&#xff1a; ID 6A Vdss 600V RDSON-typ &#xff08;VGS10V&#xff09; 1.4Ω特点&#xff1a; • 快速切换 • 低导通电阻 • 低门费 • 100%单脉冲雪崩能量测试应用范围&#xff1a; • 适配器和充电器的电源开关电路。芯片数据 • 外壳&#xff1a;模压塑料 …

latex|算法algorithm宏包和注意事项

LaTeX 中 algorithm 环境完整指南 在科研论文里&#xff0c;写清楚算法步骤通常需要用到 伪代码环境。最常见的选择有两个包&#xff1a; algorithm2e —— 功能最强大&#xff0c;适合期刊/学位论文algorithmicx algpseudocode —— 更灵活、可定制&#xff0c;常用于会议模板…

纯Qt结合ffmpeg实现本地摄像头采集/桌面采集/应用程序窗口采集/指定采集帧率和分辨率等

一、前言说明 ffmpeg的功能真的是包罗万象&#xff0c;除了基本的编解码&#xff0c;还有个专门的avdevice模块用来对本地设备的采集支持&#xff0c;最开始用到ffmpeg采集本地摄像头的缘由&#xff0c;还不是因为Qt不给力&#xff0c;Qt5开始有个qcamera类&#xff0c;但是只…

【论文笔记】Multi-Agent Based Character Simulation for Story Writing

论文信息 论文标题&#xff1a; Multi-Agent Based Character Simulation for Story Writing - In2Writing 2025 论文作者&#xff1a; Tian Yu, Ken Shi, Zixin Zhao, Gerald Penn 论文链接&#xff1a; https://aclanthology.org/2025.in2writing-1.9/ 论文领域&#xff1a;…

GaussianLSS

背景 BEV感知能够聚合多个传感器输入得到统一的空间表征&#xff0c;在3D感知、下游应用以及跨模态融合中发挥重要作用。现有的BEV感知分为2D反投影&#xff08;LSS&#xff09;以及3D投影&#xff08;BEVFormer&#xff09;&#xff0c;其中3D投影依赖于3D体素的投影&#xff…

卫生许可证识别技术:通过OCR与NLP实现高效合规管理,提升审核准确性与效率

在食品安全、公共卫生管理日益重要的今天&#xff0c;卫生许可证成为企业合规经营的关键凭证。传统人工审核方式效率低、易出错&#xff0c;而卫生许可证识别技术应运而生&#xff0c;正逐步革新监管与合规流程。下面深入解析这项技术的核心要素。核心技术原理卫生许可证识别本…

【habitat学习一】Habitat-Lab 配置键文档详解(CONFIG_KEYS.md)

该文件是 Habitat-Lab&#xff08;Facebook Research 开发的 Embodied AI 模拟框架&#xff09;的核心配置文档&#xff0c;详细定义了 Habitat 配置系统&#xff08;基于 OmegaConf&#xff09;中所有可配置参数的层级结构、默认值、取值范围及功能说明。以下内容严格按文件结…

AI-调查研究-55-机器人 百年进化史:从Unimate到人形智能体的技术跃迁

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; AI炼丹日志-31- 千呼万唤始出来 GPT-5 发布&#xff01;“快的…

【python实用小脚本-190】Python一键删除PDF任意页:输入页码秒出干净文件——再也不用在线裁剪排队

Python一键删除PDF任意页&#xff1a;输入页码秒出干净文件——再也不用在线裁剪排队 PDF删页, 零依赖脚本, 命令行秒用, 小白神器, 瑞士军刀 故事开场&#xff1a;一把瑞士军刀救了你 周一早高峰&#xff0c;老板发来 200 页 PDF&#xff1a; “把第 18、25、37 页删掉&#x…

RH134 运行容器知识点

1. 相比较虚拟机&#xff0c;容器有哪些技术优势&#xff1f;答&#xff1a;轻量级&#xff1a;容器共享宿主操作系统的内核&#xff0c;比虚拟机更轻量级&#xff0c;启动速度更快&#xff0c;资源占用更少。高效性&#xff1a;容器可以快速部署和扩展&#xff0c;适合于微服务…