- 后台管理系统的通用权限解决方案(四)SpringBoot整合Dozer实现对象属性复制
维先生d
后台管理系统的通用权限解决方案springboot数据库后端Dozerbeanutils对象属性复制
1dozer介绍dozer是JavaBean到JavaBean映射器,它以递归方式将数据从一个对象复制到另一个对象。dozer是用来对两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的调用set和get方法了。dozer其实是对我们熟知的beanutils的封装。2dozer案例1)创建maven工程dozer-demo,并配置其pom.
- Springboot整合Dozer
ym0913
后端java
一、引入依赖net.sf.dozerdozer5.5.1net.sf.dozerdozer-spring5.5.1二、配置类@ConfigurationpublicclassDozerMapperConfig{@Bean(name="org.dozer.Mapper")publicDozerBeanMappermapper(){DozerBeanMappermapper=newDozerBeanM
- 开发者“疯狂”整活:用纯 C 语言,从头编写一个 Rust 编译器!
CSDN资讯
rust开发语言后端
近日,一个项目在HN上引起了许多开发者的注意——一名富有创新精神的开发者正在尝试使用C语言来编写Rust编译器。这位开发者表示:为了引导Rust发展,无论付出什么代价都值得。原文链接:https://notgull.net/announcing-dozer/作者|JohnNunley翻译|郑丽媛出品|CSDN(ID:CSDNnews)细心的Rust爱好者可能已经注意到,我最近不太活跃。导致这种情况
- Java中的深浅拷贝方式
yololee_
java8java开发语言.net
文章目录Java中的深浅拷贝方式实现Cloneable重写clone()方法如何进行对象克隆浅拷贝和深拷贝浅拷贝案例深拷贝案例clone方式小结原型工厂类利用Dozer拷贝对象利用Commons-BeanUtils复制对象Orika复制对象Java中的深浅拷贝方式实现Cloneable重写clone()方法如何进行对象克隆Object对象有个clone()方法,实现了对象中各个属性的复制,但它的可
- java对象拷贝
翱翔-蓝天
java开发语言
importorg.dozer.DozerBeanMapper;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;import
- Java Bean对象互相转换
缘不易
springbootspringboot
Maven依赖net.sf.dozerdozer-spring5.5.1net.sf.dozerdozer5.5.1Resources目录下创建dozer目录和MATE-INFO目录下创建两个配置文件bean-mappings.xml和global-configuration.xmlbean-mappings.xmlglobal-configuration.xmlyyyy-MM-ddHH:mm:s
- Kotlin属性复制方法
东来东往ol
Kotlin属性复制kotlin对象拷贝
vardozer=DozerBeanMapper()/***属性复制,使用方法*/inlinefunAny.transfer():T{returndozer.map(this,T::class.java)}/***集合内元素的属性复制*/inlinefunList.transferEntries():Collection{returnthis.parallelStream().map{dozer.
- dto,vo,po,bo等实体转换工具类
雁归来时
javajavaspring
3层开发以及不是多么新颖的开发思想了,但是呢,苦于开发的程序猿们,经常会被各个实例之间的转换弄得晕头转向,尤其是转换的次数多了,一下就蒙了,不知道转到哪里去了,博主也有这种困难,于是在网上到处找,找到了一些方法,并结合自身的开发使用,填补一些坑,希望对大家有所帮助!下面宣布这次的主角:dozer他是谁,一看英文名就不懂吧,其实他是一个大家都知道的一个角色,spring里面他可是家喻户晓的一个主角,
- Java对象复制
骑个小蜗牛
Javajava
文章目录前言何不可变类对象复制方式1.直接赋值2.浅拷贝3.深拷贝对象复制方案1.get/set2.SpringBeanUtils3.ApacheBeanUtils4.BeanCopier5.Orika6.Dozer7.MapStruct8.BeanMapping9.BeanMappingASM10.ModelMapper11.JMapper12.Json2Json复制方案选择前言在我们实际项目开
- mapstruct
√Angelの爱灬
java
1.mapstruct简介官网文档不同的转化工具类的描述:工具描述org.mapstruct基于jsr269实现在编译期间生成代码,性能高,精细控制,解耦net.sf.dozer最后更新在2014年,对新的类型映射不了,如:java.time.LocalDateTimeorg.springframework.beans.BeanUtils简单易用,不能对属性进行定制处理2.mapstruct使用2
- 关于自动映射在项目中的具体落地(dozer)
奋斗的小面包
深度剖析java技术springjavajavaintellij-ideadozer属性映射框架
关于自动映射在项目中的具体落地(dozer)项目开发过程中,经常需要编写model之间的转换,最常见的有:实体转DTODTO转实体等操作,故为了简化代码的开发工作,需要简化对象属性之间复制的步骤,目前有两种解决方案,一种是定义converter使用手写或插件生成,对各个属性进行set方法的设置。IDEA提供GenerateAllSetter插件,可帮助我们快速生成上述代码。另一中方案是使用自动映射
- Dozer BeanMapper 对象转换
lazycece
JavadozerBeanMapper
dozer是什么?在开发过程中,常常会涉及到对象之间的转换,bean到dto到vo等等,dozer便是很好的一个对象转换的组件。它可以将一个对象递归拷贝到另外一个对象。既支持简单的对象映射,也支持复杂的对象映射。对象映射dozer支持两种映射方式,调用api的简单映射方式和使用xml的映射方式。api调用的方式约束我们定义的两个bean中的成员变量名要一样,方便自动映射,至于类型可以不一样,比如类
- Java常见bean mapper的性能及原理分析
Java程序员的感悟日常
javamybatisspring架构分布式
背景在分层的代码架构中,层与层之间的对象避免不了要做很多转换、赋值等操作,这些操作重复且繁琐,于是乎催生出很多工具来优雅,高效地完成这个操作,有BeanUtils、BeanCopier、Dozer、Orika等等,本文将讲述上面几个工具的使用、性能对比及原理分析。性能分析其实这几个工具要做的事情很简单,而且在使用上也是类似的,所以我觉得先给大家看看性能分析的对比结果,让大家有一个大概的认识。我是使
- python深入系列(四):高性能python代码
justworld
1、性能分析工具cProfile、hotshot、profile、runsnake(可视化cProfile分析结果)、line_profiler(逐行分析)、memory_profiler(诊断内存,安装psutil可提速,mprof功能可用于采样画图)、heapy(分析堆占用,处理内存泄漏)、dowser(实时画出变量实例)、dozer、dis(检查字节码,字节码越多执行越慢)、coverage
- 关于Java中的dozer对象转换问题
目录Java中的dozer对象转换1、dozer介绍2、依赖坐标3、创建测试工厂【dozer_demo】3.1、引入对应的依赖3.2、创建UserDTO和UserEntity3.3、在resources/dozer/目录下创建dozer的全局配置文件global.dozer.xml3.4、在resources/dozer/目录下创建dozer的映射文件biz.dozer.xml3.5、编写appl
- SpringBoot 整合 Dozer 映射框架
华仔仔coding
Javaspringbootjavadozer
SpringBoot整合Dozer映射框架1.Dozer介绍2.为什么要使用映射框架Dozer3.Dozer映射框架的使用1.Dozer介绍Dozer是一个JavaBean到JavaBean的映射器,它递归地将数据从一个对象复制到另一个对象。Dozer是用来对两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的调用set和get方法。最重要
- java中VO和DTO之间的转换实现
目录一、背景二、详细讲解注意三、实体对象间的转换四、第一种方法的具体代码例子五、第二种方法的具体代码例子(使用dozer)六、结束一、背景1.领域模型中的实体类分为四种类型:VO、DTO、DO、PO二、详细讲解1.VO(ViewObject),视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。2.DTO(DataTransferObject),数据传输对象,这个概念来源于
- SpringBoot中Dozer的使用小结
什么是Dozer?Dozer是一种JavaBean到JavaBean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通用的,灵活的,可重用的和可配置的开源映射框架。说白点就是dozer是一个能把实体和实体之间进行转换的工具.只要建立好映射关系.就像是ORM的数据库和实体映射一样。dozer是用来两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象
- Springboot整合Dozer实现深度复制的方法
目录DozerSpringBoot整合Dozerjar依赖引入dozer配置xml引入Dozer的JavaConfig格式化工厂使用DemoDozerDozer是一种JavaBean到JavaBean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通用的,灵活的,可重用的和可配置的开源映射框架。常用于:代码层与层之间javabean转换,如dao层PO转前端VO分布式中,DAO层
- Orika - 类复制工具
孤影的博客
Orika前言类复制工具有很多,比较常用的有mapstruct、SpringBeanUtils、ApacheBeanUtils、dozer等,目前我所在的项目组中使用的是mapstruct。在性能方面,mapstruct毫无疑问是最优秀的,因为mapstruct是通过getter、setter方法来复制属性值的,而其它框架或多或少使用反射进行复制,这里也不再赘述。但是,mapstruct也有它的不
- 卧槽!Dozer 宣布停止维护,不要再用了。。
java
最近栈长分享了两篇MapStruct玩法:MapStruct基础玩法MapStruct高级玩法旨在优雅的代替满屏的get/set以及BeanUtils工具类,然后栈长也收到了一些留言,其中很多朋友就是推荐使用Dozer的:栈长并没有用过Dozer,朋友们一再推荐,一时搞得我非常好奇,这到底是何方神器,所以很想体验一下这个神器。。不过当我打开DozerGithub时:纳尼?什么鬼?栈长简单翻译下:D
- SpringBoot2.x集成Dozer的示例代码
目录一、引入依赖二、实体类三、编写配置文件四、创建测试类五、Dozer的基本使用代码示例Dozer是JavaBean到JavaBean的映射器,它以递归的方式将数据从一个对象复制到另一个对象。通常,这些JavaBean将具有不同的复杂类型。它支持简单属性映射,复杂类型映射,双向映射,隐式显式映射,以及递归映射。这包括映射需要在元素层面上进行映射的集合属性。可以将Dozer用作两个对象之间属性转换的
- SpringBoot的集成方法案例有没有
css
Dozer的一些基本使用进行总结。Dozer支持注解、API、XML三种映射配置方式,星池挖服务器XML方式比较常用,前面使用的也是XML映射配置方式。XML映射配置中mapping元素的map-id属性可以设置该映射的标识,通过此标识来确定使用该映射关系。结果即使在try中产生异常也会执行。第二种特殊情况:结果即使在try中return也会执finally中的结果第三种特殊情况:如果try或者c
- Dozer数据对象转换神器
JavaQ
首先,为什么要进行数据转换?在一个分层的体系结构中,经常会使用DTO、PO、VO等封装数据,封装数据到特定的数据对象中,然而在很多情况下,某层内部的数据是不允许传递到其它层,不允许对外暴露的,特别是在分布式的系统中,内部服务的数据对外暴露,也不允许不相关的数据传入到本服务,所以需要对数据对象进行转换。其次,为什么要使用Dozer?前期对于很多程序员来说,数据转换都是通过手工编写转换工具类或工具方法
- 一个强大易用的java bean之间属性复制框架--Dozer介绍
weixin_34310127
javapython数据库
2019独角兽企业重金招聘Python工程师标准>>>DozerisaJavaBeantoJavaBeanmapperthatrecursivelycopiesdatafromoneobjecttoanother.Typically,theseJavaBeanswillbeofdifferentcomplextypes.更多内容见:http://dozer.sourceforge.net/docu
- Java对象到对象映射器
dnc8371
javapython大数据spring编程语言
我在该项目上使用了Dozer一段时间。但是,最近我遇到了一个非常有趣的错误,它促使我环顾四周,并尝试使用其他“对象到对象”映射器。这是我找到的工具列表:推土机:推土机是JavaBean到JavaBean的映射器,可将数据从一个对象递归地复制到另一个对象。通常,这些JavaBean将具有不同的复杂类型。Orika:Orika是JavaBean映射框架,它(除其他功能外)将数据从一个对象递归复制到另一
- iOS 推送的服务端实现
沸腾的泪水05314
转载自:http://www.dozer.cc/2013/03/push-notifications-server-side-implement/文章导航[隐藏]1ApplePushNotificationService2PushSharp3APNSJava4Php实现5赞助ApplePushNotificationService最近研究手机开发,iOS的APNS真的是比Android先进很多啊~
- log4net 配置文件配置方法
yongping8204
技术杂记
转自:http://www.dozer.cc/2013/06/log4net-config-file-order/最近把项目中所有的日志都改成了log4net,同事也蠢蠢欲动,用起了log4net。但是一个大坑扑面而来…现象是这样的,同事有两个项目:控制台引用程序:在assembly里配置了log4net的配置文件地址。业务逻辑层:引用了log4net并写日志了。然后日志始终无法输出!之前我一直天
- Entity与VO实体、列表、Map互相转换工具UTIL
旭旭12138
packagecom.supcon.oms.utils;importcom.supcon.mare.common.util.Pagination;importorg.dozer.DozerBeanMapperBuilder;importorg.dozer.Mapper;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.sp
- 移动渗透测试(dozer,adb,夜神模拟器)
柒柒不是染染
apk移动端渗透
1、adb介绍:(AndroidDebugBridge)android调试桥梁,协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能;1.1设置adb.exe的环境变量1.2、遇到问题:C:\Users\m1521>adbdevices*daemonnotrunning.
- springmvc 下 freemarker页面枚举的遍历输出
杨白白
enumfreemarker
spring mvc freemarker 中遍历枚举
1枚举类型有一个本地方法叫values(),这个方法可以直接返回枚举数组。所以可以利用这个遍历。
enum
public enum BooleanEnum {
TRUE(Boolean.TRUE, "是"), FALSE(Boolean.FALSE, "否");
- 实习简要总结
byalias
工作
来白虹不知不觉中已经一个多月了,因为项目还在需求分析及项目架构阶段,自己在这段
时间都是在学习相关技术知识,现在对这段时间的工作及学习情况做一个总结:
(1)工作技能方面
大体分为两个阶段,Java Web 基础阶段和Java EE阶段
1)Java Web阶段
在这个阶段,自己主要着重学习了 JSP, Servlet, JDBC, MySQL,这些知识的核心点都过
了一遍,也
- Quartz——DateIntervalTrigger触发器
eksliang
quartz
转载请出自出处:http://eksliang.iteye.com/blog/2208559 一.概述
simpleTrigger 内部实现机制是通过计算间隔时间来计算下次的执行时间,这就导致他有不适合调度的定时任务。例如我们想每天的 1:00AM 执行任务,如果使用 SimpleTrigger,间隔时间就是一天。注意这里就会有一个问题,即当有 misfired 的任务并且恢复执行时,该执行时间
- Unix快捷键
18289753290
unixUnix;快捷键;
复制,删除,粘贴:
dd:删除光标所在的行 &nbs
- 获取Android设备屏幕的相关参数
酷的飞上天空
android
包含屏幕的分辨率 以及 屏幕宽度的最大dp 高度最大dp
TextView text = (TextView)findViewById(R.id.text);
DisplayMetrics dm = new DisplayMetrics();
text.append("getResources().ge
- 要做物联网?先保护好你的数据
蓝儿唯美
数据
根据Beecham Research的说法,那些在行业中希望利用物联网的关键领域需要提供更好的安全性。
在Beecham的物联网安全威胁图谱上,展示了那些可能产生内外部攻击并且需要通过快速发展的物联网行业加以解决的关键领域。
Beecham Research的技术主管Jon Howes说:“之所以我们目前还没有看到与物联网相关的严重安全事件,是因为目前还没有在大型客户和企业应用中进行部署,也就
- Java取模(求余)运算
随便小屋
java
整数之间的取模求余运算很好求,但几乎没有遇到过对负数进行取模求余,直接看下面代码:
/**
*
* @author Logic
*
*/
public class Test {
public static void main(String[] args) {
// TODO A
- SQL注入介绍
aijuans
sql注入
二、SQL注入范例
这里我们根据用户登录页面
<form action="" > 用户名:<input type="text" name="username"><br/> 密 码:<input type="password" name="passwor
- 优雅代码风格
aoyouzi
代码
总结了几点关于优雅代码风格的描述:
代码简单:不隐藏设计者的意图,抽象干净利落,控制语句直截了当。
接口清晰:类型接口表现力直白,字面表达含义,API 相互呼应以增强可测试性。
依赖项少:依赖关系越少越好,依赖少证明内聚程度高,低耦合利于自动测试,便于重构。
没有重复:重复代码意味着某些概念或想法没有在代码中良好的体现,及时重构消除重复。
战术分层:代码分层清晰,隔离明确,
- 布尔数组
百合不是茶
java布尔数组
androi中提到了布尔数组;
布尔数组默认的是false, 并且只会打印false或者是true
布尔数组的例子; 根据字符数组创建布尔数组
char[] c = {'p','u','b','l','i','c'};
//根据字符数组的长度创建布尔数组的个数
boolean[] b = new bool
- web.xml之welcome-file-list、error-page
bijian1013
javaweb.xmlservleterror-page
welcome-file-list
1.定义:
<welcome-file-list>
<welcome-file>login.jsp</welcome>
</welcome-file-list>
2.作用:用来指定WEB应用首页名称。
error-page1.定义:
<error-page&g
- richfaces 4 fileUpload组件删除上传的文件
sunjing
clearRichfaces 4fileupload
页面代码
<h:form id="fileForm"> <rich:
- 技术文章备忘
bit1129
技术文章
Zookeeper
http://wenku.baidu.com/view/bab171ffaef8941ea76e05b8.html
http://wenku.baidu.com/link?url=8thAIwFTnPh2KL2b0p1V7XSgmF9ZEFgw4V_MkIpA9j8BX2rDQMPgK5l3wcs9oBTxeekOnm5P3BK8c6K2DWynq9nfUCkRlTt9uV
- org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 1解决方案
白糖_
Hibernate
文章摘自:http://blog.csdn.net/yangwawa19870921/article/details/7553181
在编写HQL时,可能会出现这种代码:
select a.name,b.age from TableA a left join TableB b on a.id=b.id
如果这是HQL,那么这段代码就是错误的,因为HQL不支持
- sqlserver按照字段内容进行排序
bozch
按照内容排序
在做项目的时候,遇到了这样的一个需求:
从数据库中取出的数据集,首先要将某个数据或者多个数据按照地段内容放到前面显示,例如:从学生表中取出姓李的放到数据集的前面;
select * fro
- 编程珠玑-第一章-位图排序
bylijinnan
java编程珠玑
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Random;
public class BitMapSearch {
- Java关于==和equals
chenbowen00
java
关于==和equals概念其实很简单,一个是比较内存地址是否相同,一个比较的是值内容是否相同。虽然理解上不难,但是有时存在一些理解误区,如下情况:
1、
String a = "aaa";
a=="aaa";
==> true
2、
new String("aaa")==new String("aaa
- [IT与资本]软件行业需对外界投资热情保持警惕
comsci
it
我还是那个看法,软件行业需要增强内生动力,尽量依靠自有资金和营业收入来进行经营,避免在资本市场上经受各种不同类型的风险,为企业自主研发核心技术和产品提供稳定,温和的外部环境...
如果我们在自己尚未掌握核心技术之前,企图依靠上市来筹集资金,然后使劲往某个领域砸钱,然
- oracle 数据块结构
daizj
oracle块数据块块结构行目录
oracle 数据块是数据库存储的最小单位,一般为操作系统块的N倍。其结构为:
块头--〉空行--〉数据,其实际为纵行结构。
块的标准大小由初始化参数DB_BLOCK_SIZE指定。具有标准大小的块称为标准块(Standard Block)。块的大小和标准块的大小不同的块叫非标准块(Nonstandard Block)。同一数据库中,Oracle9i及以上版本支持同一数据库中同时使用标
- github上一些觉得对自己工作有用的项目收集
dengkane
github
github上一些觉得对自己工作有用的项目收集
技能类
markdown语法中文说明
回到顶部
全文检索
elasticsearch
bigdesk elasticsearch管理插件
回到顶部
nosql
mapdb 支持亿级别map, list, 支持事务. 可考虑做为缓存使用
C
- 初二上学期难记单词二
dcj3sjt126com
englishword
dangerous 危险的
panda 熊猫
lion 狮子
elephant 象
monkey 猴子
tiger 老虎
deer 鹿
snake 蛇
rabbit 兔子
duck 鸭
horse 马
forest 森林
fall 跌倒;落下
climb 爬;攀登
finish 完成;结束
cinema 电影院;电影
seafood 海鲜;海产食品
bank 银行
- 8、mysql外键(FOREIGN KEY)的简单使用
dcj3sjt126com
mysql
一、基本概念
1、MySQL中“键”和“索引”的定义相同,所以外键和主键一样也是索引的一种。不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确的索引。用于外键关系的字段必须在所有的参照表中进行明确地索引,InnoDB不能自动地创建索引。
2、外键可以是一对一的,一个表的记录只能与另一个表的一条记录连接,或者是一对多的,一个表的记录与另一个表的多条记录连接。
3、如
- java循环标签 Foreach
shuizhaosi888
标签java循环foreach
1. 简单的for循环
public static void main(String[] args) {
for (int i = 1, y = i + 10; i < 5 && y < 12; i++, y = i * 2) {
System.err.println("i=" + i + " y="
- Spring Security(05)——异常信息本地化
234390216
exceptionSpring Security异常信息本地化
异常信息本地化
Spring Security支持将展现给终端用户看的异常信息本地化,这些信息包括认证失败、访问被拒绝等。而对于展现给开发者看的异常信息和日志信息(如配置错误)则是不能够进行本地化的,它们是以英文硬编码在Spring Security的代码中的。在Spring-Security-core-x
- DUBBO架构服务端告警Failed to send message Response
javamingtingzhao
架构DUBBO
废话不多说,警告日志如下,不知道有哪位遇到过,此异常在服务端抛出(服务器启动第一次运行会有这个警告),后续运行没问题,找了好久真心不知道哪里错了。
WARN 2015-07-18 22:31:15,272 com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(84)
- JS中Date对象中几个用法
leeqq
JavaScriptDate最后一天
近来工作中遇到这样的两个需求
1. 给个Date对象,找出该时间所在月的第一天和最后一天
2. 给个Date对象,找出该时间所在周的第一天和最后一天
需求1中的找月第一天很简单,我记得api中有setDate方法可以使用
使用setDate方法前,先看看getDate
var date = new Date();
console.log(date);
// Sat J
- MFC中使用ado技术操作数据库
你不认识的休道人
sqlmfc
1.在stdafx.h中导入ado动态链接库
#import"C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","end")2.在CTestApp文件的InitInstance()函数中domodal之前写::CoIniti
- Android Studio加速
rensanning
android studio
Android Studio慢、吃内存!启动时后会立即通过Gradle来sync & build工程。
(1)设置Android Studio
a) 禁用插件
File -> Settings... Plugins 去掉一些没有用的插件。
比如:Git Integration、GitHub、Google Cloud Testing、Google Cloud
- 各数据库的批量Update操作
tomcat_oracle
javaoraclesqlmysqlsqlite
MyBatis的update元素的用法与insert元素基本相同,因此本篇不打算重复了。本篇仅记录批量update操作的
sql语句,懂得SQL语句,那么MyBatis部分的操作就简单了。 注意:下列批量更新语句都是作为一个事务整体执行,要不全部成功,要不全部回滚。
MSSQL的SQL语句
WITH R AS(
SELECT 'John' as name, 18 as
- html禁止清除input文本输入缓存
xp9802
input
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。如果不想让浏览器缓存input的值,有2种方法:
方法一: 在不想使用缓存的input中添加 autocomplete="off"; eg: <input type="text" autocomplete="off" name