thymeleaf调用springBean
没有经过战斗的舍弃,是虚伪的;没有经过苦难的超脱,是轻佻的。——傅雷 昨天写了一篇关于前端精度丢失的博客 今天发现还有个问题,如果我们需要使用thymeleaf在js中使用获取的数据是一个对象 并且里面的属性还是超出16位的Long类型的话,仍然会导致精度丢失 这里我们可以直接写一个JsonManager 12345678910111213141516171819/** * Json转换管理层 * * @author <achao1441470436@gmail.com> * @since 2021/7/7 11:12 */public interface JsonManager { /** * 序列化处理精度丢失 * * @param serializeObj 将要序列化的对象 * @return java.lang.Object * @author <achao1441470436@gmail.com> * @since 2021/7/7 11:16 */ Object ...
js精度丢失坑
飞蛾扑火时一定是极快乐幸福的。——三毛 我们在进行开发时可能会遇到这样一个坑,那就是js代码的精度丢失 可以看到16位以后就会出现精度丢失的问题 我们定义一个简单接口,这里用com.baomidou.mybatisplus.core.toolkit.IdWorker.getId()生成19位为Long类型的id 12345@GetMapping("json")@ResponseBodypublic Ruben json() { return new Ruben(IdWorker.getId());} 返回的Ruben对象 1234567891011121314151617181920/** * @author <achao1441470436@gmail.com> * @since 2021/7/6 0006 21:37 */public class Ruben { private Long id; public Ruben(Long id) { this.id = i...
在js中获取thymeleaf变量(二)
所谓天才,只不过是把别人喝咖啡的功夫都用在工作上了。——鲁迅 上回写过在js中获取thymeleaf变量 但比较繁琐 这次用简单的写法 1234<script> var id = [[${id}]] console.log(id)</script> 非常简单~ 不过要注意一点,如果是对象格式的数据,需要在script标签上加th:inline="javascript" 1234<script th:inline="javascript"> var id = [[${id}]] console.log(id)</script> 在页面中也可以直接使用,可以代替th:text 123<div> [[${id}]]</div> 效果如下 如果是字符串也支持的 1234<div> [[${id}]] [['id']...
qq推广
在自己身上,克服这个时代。——尼采 我们接入QQ客服,可以让用户在网页上直接打开QQ窗口与号主交谈 进入网址 登录后刷新一下页面 选择想要的样式,复制下面的代码 然后我们复制到我们的网站上,点击打开,然后到“QQ在线状态”官网开启服务。 然后就可以使用QQ客服啦~
markdown转html插件
人不能象走兽那样活着,应该追求知识和美德。——但丁 商店页 使用方式很简单 直接右键选择markdown转换即可 然后就好了
redisson实现分布式锁
性格左右命运,气度影响格局。——余世雅博士 代码如下 123456789101112131415161718192021222324252627282930313233 public static int EXPIRE_SECONDS = 5 * 60; @Resource private RedissonClient redissonClient; /** * 加redisson分布式锁 * * @param lockName 锁名 * @param supplier 调用方法 * @return T * @author <achao1441470436@gmail.com> * @since 2021/7/2 17:42 */ @Override @Transactional(rollbackFor = Throwable.class, isolation = Isolation.READ_UNCOMMITTED, propagation = Propagation.REQUIRED) p...
新标签页打开
人民不仅有权爱国,而且爱国是个义务,是一种光荣。——徐特立 123456<a href="https://VampireAchao.github.io/" target="_self">默认当前页面打开</a><a href="https://VampireAchao.github.io/" target="_blank">新页面打开</a><a href="" target="ruben">在frame中打开</a><iframe src="" name="ruben"></iframe><a href="https://VampireAchao.github.io/" target="_parent">如果是在iframe里,无视iframe直接当前外层页面打开<...
wow.js
青春是一个普通的名称,它是幸福美好的,但它也充满着艰苦的磨炼。——高乐基 今天学到一个wow.js 可以实现很棒的效果 我们去这里下载 https://www.dowebok.com/131.html 使用方法1、引入文件1<link rel="stylesheet" href="css/animate.min.css"> 2、HTML12<div class="wow slideInLeft"></div><div class="wow slideInRight"></div> 可以加入 data-wow-duration(动画持续时间)和 data-wow-delay(动画延迟播放时间)属性,如: 12<div class="wow slideInLeft" data-wow-duration="2s" data-wow-delay="0.1s">左淡入<...
通过Function获取属性对应字段
只有绝望的赌鬼才肯把全部所有作孤注的一掷。一个商人如果把他的全部财产装在一只船上,人家就管他叫冒失鬼——席勒 我写了个函数 123456789101112131415161718/** * 获取表内字段 * * @param function 字段 * @return java.lang.String * @author <achao1441470436@gmail.com> * @since 2021/6/29 16:51 */public static <R, T> String getColumn(SFunction<T, R> function) { SerializedLambda lambda = LambdaUtils.resolve(function); TableInfo tableInfo = TableInfoHelper.getTableInfo(lambda.getImplClass()); return tableInfo.getFieldList() .para...
mybatis-plus自动填充
遵守诺言就象保卫你的荣誉一样。——巴尔扎克 官方文档里说首先需要加@TableField注解并指定fill的值 对应的值在com.baomidou.mybatisplus.annotation.FieldFill这个枚举里 例如我这里gmtCreate字段需要在新增的时候自动填充,就使用FieldFill.INSERT 然而我需要让gmtModified字段在新增和修改的时候都自动填充,就使用FieldFill.INSERT_UPDATE 不过,加了注解后咱们还得去注入一个com.baomidou.mybatisplus.core.handlers.MetaObjectHandler 完整代码如下 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980package com.ruben.simpleideaboot.config;...
