JavaWeb 开发经验 02

Java

java 对象转成 JSON 字符串,出现 $ref

原因:List 里含有重复对象
使用:DisableCircularReferenceDetect 来禁止循环引用检测

1
JSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect)

引用是通过$ref来表示的

引用 描述
“$ref”:”..” 上一级
“$ref”:”@” 当前对象,也就是自引用
“$ref”:”$” 根对象
“$ref”:”$.children.0” 基于路径的引用,相当于 root.getChildren().get(0)

freemarker 判断对象是否为空

1
2
3
4
5
<#if name??>
${name }
</#if>

${name!'' }

button 标签(问题:回车会提交的)

submit 该按钮是提交按钮(除了 Internet Explorer,该值是其他浏览器的默认值)

校验手机格式

由于运营商号段随时会变,故采取非严谨的规则。

  • Java 版本
1
2
3
4
5
6
7
8
9
10
/**
* 校验手机号
* @param number
* @return
*/
private boolean checkPhoneNumber(String number) {
String regex = "^[1]([3-9])[0-9]{9}$";
Pattern pattern = Pattern.compile(regex);
return pattern.matcher(number).matches();
}
  • JS 版本
1
2
3
4
var telStr = "/^[1]([3-9])[0-9]{9}$/";
if (!(telStr.test(number))) {
console.log("手机号格式不合法");
}

CSS 怎么引用字体包

加入一下代码,css 直接引用字体名称即可。

1
2
3
4
@font-face {
font-family: 'MyNewFont'; /*字体名称*/
src: url('font.ttf'); /*字体源文件*/
}

解决引入外网资源 403 forbidden 问题

页面中引入外网的链接资源,会产生一个新的 Http 清求。为了安全(URL 里可能包含用户信息),浏览器一般都会在请求头加上 referrer 字段表示来源的。

所以,此时我们要隐藏外部链接中的 referrer,在 head 标签中加入 meta,代码如下

1
<meta name="referrer" content="no-referrer">

Float 和 Double 的精度缺失问题

Float 和 Double 数据进行运算会出现精度丢失问题。解决方法:

  • 避免小数的使用
  • 使用 BigDecimal 的 String 构造函数
1
2
3
4
5
6
7
8
9
double dis = 6*0.1D;
System.out.println(dis); // 0.6000000000000001
// 第一种
double dis2 = 6/10D;
System.out.println(dis2); // 0.6
// 第二种
BigDecimal bigDecimal = new BigDecimal("6");
BigDecimal bigDecimal2 = new BigDecimal("0.1");
System.out.println(bigDecimal.multiply(bigDecimal2)); // 0.6

IDEA 删除文件

问题描述

删除一个为指定类型的文件(默认文本 text),再次新建相同的文件时则会默认到之前的文件类型。

彻底删除方法

  • 打开 Setting
  • 找到 File Type
  • 找到 Recognized File Types 框中的 Text
  • 下拉 Registered Patterns 框到最后,就找到之前新建的文件
  • 删除即可

彻底删除方法

持续更新中…

🐼 您的支持将鼓励我继续创作 🐼
0%