前言
本章博客用于记录工作学习框架、技术时遇到的问题,由于以前没有这个习惯,发现了问题,然后解决了就完了,当下次再遇到的时候,又要重新去按步骤解决,耗费时间,也不利于知识的积累,因此,以后我希望能够逐渐养成这个习惯,逐渐进步!
一、Spring
1、spring-boot-01-helloworld-1.0-SNAPSHOT.jar中没有主清单属性
问题还原: 今天需要用到一个最简单的springboot项目做一个测试,我就去创建了一个springboot项目并打包成jar文件,在本地先测试了下,却发现了该问题。
解决办法: 该问题是因为缺少了依赖,在pom.xml文件中导入Springboot的maven依赖;
<!-- 这个插件,可以将应用打包成一个可执行的jar包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
保存好会发现target多了一些文件,比如boot-01-helloword-1.0-SNAPSHOT.jar.original
此时我们install一下,再package一下就好了。
按以前的方式使用就好了
二、Vue
1、export ‘default’ (imported as ‘Vue’) was not found in 'vue
问题还原: 今天准备安装vue玩玩,就直接安装的最新版4.0+,使用vue-router时一直报这个警告,然后页面打开后,也没有内容,浏览器控制台输出不认识use,指的是Vue.use(VueRouter)中的use,这… 我就很蒙蔽了,这不是官方要求这么做的么,怎么就不认识了呢。我就查阅了相关资料,暂时解决了问题,但不是根本上解决。
解决办法: 这个问题是vue 版本造成的。vue4创建vue实例是通过createApp(),而vue3及之前都是new Vue的方式,因为对vue4不是很了解,网上找了一圈,解决了一个又出现一个个问题,暂时也没发现什么头绪,就退而求其次,更换成了vue3。因为是刚开始做测试内容比较少,就直接将项目也重新搭建了。问题就暂时解决了。
三、Bootstrap
1、checkbox不显示复选框
问题还原:今天接受了一个项目,然后做了一个功能,其中需要添加一个自动刷新功能,勾选复选框即自动刷新,该项目使用到了bootstrap,我也就继续使用了这个框架,谁知道,出现了复选框不显示的问题,如下,怎么尝试都没有,我隐约记得以前也遇到过,但是不太记得解决办法了,查阅了网上的很多资料,拷贝官网的代码,都没有效果,最后只好将项目里其他的代码打开瞄了一眼,然后,我就傻了。
解决办法:只因我的代码里,放“是否自动刷新”的span没有加属性“class="text”这个类。最后咨询了公司的大佬,他说他下的不是官方的包,而是改良了的。。。没办法,我怕自己下次忘记,在此记录。
<div class="form-group">
<label>
<input type="checkbox" id="refresh" name="refresh" <c:if test="${sx=='1' }">checked</c:if>>
<span class="text">是否自动刷新</span>
</label>
</div>
四、zTree
1、数据回显
问题还原:最近使用zTree生成单位树,数据回显时无法会显,这一个问题出现了两次,上次解决了,这次又出现了,并且花了很多时间才解决。
解决办法:zTree官网API里我们找到了一个方法 treeObj.getNodeByParam(“id”, 1, null);根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象。通过这个方法可以获取满足条件的节点,再通过checkNode()选中节点即可。代码如下。
// 通过树的id找到树对象
var zTree = $.fn.zTree.getZTreeObj("tree");
// 匹配id为data的节点,此处data可为任意结构,只要满足节点属性
var node = zTree.getNodeByParam("id", data)
// 排除为空的情况,否者选中节点时会报错
if(node!=null){
// 选中节点
zTree.checkNode(node, true, true, false);
}
注意:如果有多个选中的情况需要回显。则使用循环即可。
正常来说,已经可以回显了才对,不过,如果将上述代码写在(function(){})内的话,是不会回显的。会报如下错。
Uncaught TypeError: Cannot read properties of undefined (reading ‘getNodeByParam’)
因为树的数据是通过异步获取,文档结果加载完并不一定数据也加载完,因此要将上述代码写在一个方法内,再在callback内调用。如下。
callback: {
onAsyncSuccess: zTreeOnAsyncSuccess
}