Thymeleaf数据渲染延迟导致的问题

        最近在写后台管理系统时,遇到了一个很诡异的Bug,时而有时而没有。在修改页面点击修改按钮,按道理应该正常运行,但是却404了,而且这个问题时间歇性的,有时候会出现404,有时候就会正常运行。一切的罪魁祸首都是Thymeleaf的缓存机制。

以下举例:

HTML中部分代码:

<a th:href="@{/order-list(pageNum=${pageNum})}">
    修改
</a>

正常运行时的请求路径:

localhost:8080/order-list?pageNum=XXX

运行出错时:

localhost:8080/XXXXXXXXXXX    // 只要知道不是正确的请求路径即可

结论:

        从代码层面来看,是并没有出错的,有正常运行的情况也证明了代码并没有问题,那么又是为什么会出现404的情况呢。

        其实是因为,当跳转到修改页面的时候,其实Thymeleaf其实并没有完全渲染完数据,我们就去点击了这个超链接,那么此时就不会跳转到我们想要的请求路径。这是由于Thymeleaf的缓存机制导致的。

解决方案:

        1、把超链接跳转,改成js的形式,这样就不会出问题

        2、当然你也可以稍微等一下,再去点击目标超链接哈哈哈(非常不建议)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值